@taiga-ui/addon-table
Version:
A library to display tabled data with filters, search, group actions, etc.
30 lines • 4.4 kB
JavaScript
import { computed, Directive, inject } from '@angular/core';
import { NgControl, NgModel } from '@angular/forms';
import { TuiTableControlDirective } from './table-control.directive';
import * as i0 from "@angular/core";
class TuiCheckboxTableDirective {
constructor() {
this.control = inject(NgControl);
this.parent = inject(TuiTableControlDirective);
this.update = computed(() => {
this.control.control?.setValue(this.parent.indeterminate() ? null : this.parent.checked());
});
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCheckboxTableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiCheckboxTableDirective, isStandalone: true, selector: "[tuiCheckbox][tuiCheckboxTable]", host: { listeners: { "change": "parent.toggleAll()" }, properties: { "checked": "parent.checked()", "indeterminate": "parent.indeterminate()" } }, providers: [{ provide: NgControl, useClass: NgModel }], ngImport: i0 }); }
}
export { TuiCheckboxTableDirective };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCheckboxTableDirective, decorators: [{
type: Directive,
args: [{
standalone: true,
selector: '[tuiCheckbox][tuiCheckboxTable]',
providers: [{ provide: NgControl, useClass: NgModel }],
host: {
'[checked]': 'parent.checked()',
'[indeterminate]': 'parent.indeterminate()',
'(change)': 'parent.toggleAll()',
},
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtdGFibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tdGFibGUvZGlyZWN0aXZlcy90YWJsZS1jb250cm9sL2NoZWNrYm94LXRhYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7QUFFbkUsTUFVYSx5QkFBeUI7SUFWdEM7UUFXcUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUxQixXQUFNLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDMUMsV0FBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQzdELENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztLQUNOOytHQVRZLHlCQUF5QjttR0FBekIseUJBQXlCLGlPQVB2QixDQUFDLEVBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFDLENBQUM7O1NBTzNDLHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQVZyQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsaUNBQWlDO29CQUMzQyxTQUFTLEVBQUUsQ0FBQyxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBQyxDQUFDO29CQUNwRCxJQUFJLEVBQUU7d0JBQ0YsV0FBVyxFQUFFLGtCQUFrQjt3QkFDL0IsaUJBQWlCLEVBQUUsd0JBQXdCO3dCQUMzQyxVQUFVLEVBQUUsb0JBQW9CO3FCQUNuQztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y29tcHV0ZWQsIERpcmVjdGl2ZSwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sLCBOZ01vZGVsfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7VHVpVGFibGVDb250cm9sRGlyZWN0aXZlfSBmcm9tICcuL3RhYmxlLWNvbnRyb2wuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlDaGVja2JveF1bdHVpQ2hlY2tib3hUYWJsZV0nLFxuICAgIHByb3ZpZGVyczogW3twcm92aWRlOiBOZ0NvbnRyb2wsIHVzZUNsYXNzOiBOZ01vZGVsfV0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NoZWNrZWRdJzogJ3BhcmVudC5jaGVja2VkKCknLFxuICAgICAgICAnW2luZGV0ZXJtaW5hdGVdJzogJ3BhcmVudC5pbmRldGVybWluYXRlKCknLFxuICAgICAgICAnKGNoYW5nZSknOiAncGFyZW50LnRvZ2dsZUFsbCgpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlDaGVja2JveFRhYmxlRGlyZWN0aXZlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2wgPSBpbmplY3QoTmdDb250cm9sKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBwYXJlbnQgPSBpbmplY3QoVHVpVGFibGVDb250cm9sRGlyZWN0aXZlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdXBkYXRlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNvbnRyb2wuY29udHJvbD8uc2V0VmFsdWUoXG4gICAgICAgICAgICB0aGlzLnBhcmVudC5pbmRldGVybWluYXRlKCkgPyBudWxsIDogdGhpcy5wYXJlbnQuY2hlY2tlZCgpLFxuICAgICAgICApO1xuICAgIH0pO1xufVxuIl19