@taiga-ui/addon-table 4.50.0-canary.77bd154 → 4.50.0-canary.a980fc3

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.
@@ -1,6 +1,7 @@
1
1
  import { type OnDestroy, type OnInit } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiCheckboxRowDirective<T> implements OnInit, OnDestroy {
4
+ private readonly control;
4
5
  private readonly parent;
5
6
  protected readonly checked: import("@angular/core").Signal<boolean>;
6
7
  tuiCheckboxRow: T;
@@ -1,7 +1,9 @@
1
1
  import { TuiTableControlDirective } from './table-control.directive';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiCheckboxTableDirective {
4
+ private readonly control;
4
5
  protected readonly parent: TuiTableControlDirective<any>;
6
+ protected readonly update: import("@angular/core").Signal<void>;
5
7
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiCheckboxTableDirective, never>;
6
8
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiCheckboxTableDirective, "[tuiCheckbox][tuiCheckboxTable]", never, {}, {}, never, never, true, never>;
7
9
  }
@@ -5,8 +5,14 @@ import { TuiTableControlDirective } from './table-control.directive';
5
5
  import * as i0 from "@angular/core";
6
6
  class TuiCheckboxRowDirective {
7
7
  constructor() {
8
+ this.control = inject(NgControl);
8
9
  this.parent = inject(TuiTableControlDirective);
9
- this.checked = computed(() => this.parent.value().includes(this.tuiCheckboxRow));
10
+ this.checked = computed((checked = this.parent
11
+ .value()
12
+ .includes(this.tuiCheckboxRow)) => {
13
+ setTimeout(() => this.control.control?.setValue(checked));
14
+ return checked;
15
+ });
10
16
  }
11
17
  ngOnInit() {
12
18
  this.parent.process(this);
@@ -36,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
36
42
  }], propDecorators: { tuiCheckboxRow: [{
37
43
  type: Input
38
44
  }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtcm93LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLXRhYmxlL2RpcmVjdGl2ZXMvdGFibGUtY29udHJvbC9jaGVja2JveC1yb3cuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEdBR1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFakUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMkJBQTJCLENBQUM7O0FBRW5FLE1BU2EsdUJBQXVCO0lBVHBDO1FBVXFCLFdBQU0sR0FBZ0MsTUFBTSxDQUN6RCx3QkFBd0IsQ0FDM0IsQ0FBQztRQUVpQixZQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQ3BELENBQUM7S0FtQkw7SUFkVSxRQUFRO1FBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQ3JFLENBQUM7SUFDTixDQUFDO0lBRVMsUUFBUTtRQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7K0dBekJRLHVCQUF1QjttR0FBdkIsdUJBQXVCLG1OQU5yQixDQUFDLEVBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFDLENBQUM7O1NBTTNDLHVCQUF1Qjs0RkFBdkIsdUJBQXVCO2tCQVRuQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsK0JBQStCO29CQUN6QyxTQUFTLEVBQUUsQ0FBQyxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBQyxDQUFDO29CQUNwRCxJQUFJLEVBQUU7d0JBQ0YsV0FBVyxFQUFFLFdBQVc7d0JBQ3hCLFVBQVUsRUFBRSxZQUFZO3FCQUMzQjtpQkFDSjs4QkFXVSxjQUFjO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBjb21wdXRlZCxcbiAgICBEaXJlY3RpdmUsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIHR5cGUgT25EZXN0cm95LFxuICAgIHR5cGUgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sLCBOZ01vZGVsfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge3R1aUFycmF5VG9nZ2xlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuXG5pbXBvcnQge1R1aVRhYmxlQ29udHJvbERpcmVjdGl2ZX0gZnJvbSAnLi90YWJsZS1jb250cm9sLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpQ2hlY2tib3hdW3R1aUNoZWNrYm94Um93XScsXG4gICAgcHJvdmlkZXJzOiBbe3Byb3ZpZGU6IE5nQ29udHJvbCwgdXNlQ2xhc3M6IE5nTW9kZWx9XSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2hlY2tlZF0nOiAnY2hlY2tlZCgpJyxcbiAgICAgICAgJyhjaGFuZ2UpJzogJ29uQ2hhbmdlKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNoZWNrYm94Um93RGlyZWN0aXZlPFQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFyZW50OiBUdWlUYWJsZUNvbnRyb2xEaXJlY3RpdmU8VD4gPSBpbmplY3QoXG4gICAgICAgIFR1aVRhYmxlQ29udHJvbERpcmVjdGl2ZSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoZWNrZWQgPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICB0aGlzLnBhcmVudC52YWx1ZSgpLmluY2x1ZGVzKHRoaXMudHVpQ2hlY2tib3hSb3cpLFxuICAgICk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0dWlDaGVja2JveFJvdyE6IFQ7XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFyZW50LnByb2Nlc3ModGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhcmVudC5wcm9jZXNzKHRoaXMpO1xuICAgICAgICB0aGlzLnBhcmVudC5vbkNoYW5nZShcbiAgICAgICAgICAgIHRoaXMucGFyZW50LnZhbHVlKCkuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSB0aGlzLnR1aUNoZWNrYm94Um93KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFyZW50Lm9uQ2hhbmdlKHR1aUFycmF5VG9nZ2xlKHRoaXMucGFyZW50LnZhbHVlKCksIHRoaXMudHVpQ2hlY2tib3hSb3cpKTtcbiAgICB9XG59XG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtcm93LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLXRhYmxlL2RpcmVjdGl2ZXMvdGFibGUtY29udHJvbC9jaGVja2JveC1yb3cuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEdBR1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFakUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMkJBQTJCLENBQUM7O0FBRW5FLE1BU2EsdUJBQXVCO0lBVHBDO1FBVXFCLFlBQU8sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUIsV0FBTSxHQUFnQyxNQUFNLENBQ3pELHdCQUF3QixDQUMzQixDQUFDO1FBRWlCLFlBQU8sR0FBRyxRQUFRLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU07YUFDdkQsS0FBSyxFQUFFO2FBQ1AsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFO1lBQ2xDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUUxRCxPQUFPLE9BQU8sQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztLQW1CTjtJQWRVLFFBQVE7UUFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FDckUsQ0FBQztJQUNOLENBQUM7SUFFUyxRQUFRO1FBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQzsrR0E5QlEsdUJBQXVCO21HQUF2Qix1QkFBdUIsbU5BTnJCLENBQUMsRUFBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUMsQ0FBQzs7U0FNM0MsdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBVG5DLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLFNBQVMsRUFBRSxDQUFDLEVBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFDLENBQUM7b0JBQ3BELElBQUksRUFBRTt3QkFDRixXQUFXLEVBQUUsV0FBVzt3QkFDeEIsVUFBVSxFQUFFLFlBQVk7cUJBQzNCO2lCQUNKOzhCQWdCVSxjQUFjO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBjb21wdXRlZCxcbiAgICBEaXJlY3RpdmUsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIHR5cGUgT25EZXN0cm95LFxuICAgIHR5cGUgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sLCBOZ01vZGVsfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge3R1aUFycmF5VG9nZ2xlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuXG5pbXBvcnQge1R1aVRhYmxlQ29udHJvbERpcmVjdGl2ZX0gZnJvbSAnLi90YWJsZS1jb250cm9sLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpQ2hlY2tib3hdW3R1aUNoZWNrYm94Um93XScsXG4gICAgcHJvdmlkZXJzOiBbe3Byb3ZpZGU6IE5nQ29udHJvbCwgdXNlQ2xhc3M6IE5nTW9kZWx9XSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2hlY2tlZF0nOiAnY2hlY2tlZCgpJyxcbiAgICAgICAgJyhjaGFuZ2UpJzogJ29uQ2hhbmdlKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNoZWNrYm94Um93RGlyZWN0aXZlPFQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFyZW50OiBUdWlUYWJsZUNvbnRyb2xEaXJlY3RpdmU8VD4gPSBpbmplY3QoXG4gICAgICAgIFR1aVRhYmxlQ29udHJvbERpcmVjdGl2ZSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoZWNrZWQgPSBjb21wdXRlZCgoY2hlY2tlZCA9IHRoaXMucGFyZW50XG4gICAgICAgIC52YWx1ZSgpXG4gICAgICAgIC5pbmNsdWRlcyh0aGlzLnR1aUNoZWNrYm94Um93KSkgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY29udHJvbC5jb250cm9sPy5zZXRWYWx1ZShjaGVja2VkKSk7XG5cbiAgICAgICAgcmV0dXJuIGNoZWNrZWQ7XG4gICAgfSk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0dWlDaGVja2JveFJvdyE6IFQ7XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFyZW50LnByb2Nlc3ModGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhcmVudC5wcm9jZXNzKHRoaXMpO1xuICAgICAgICB0aGlzLnBhcmVudC5vbkNoYW5nZShcbiAgICAgICAgICAgIHRoaXMucGFyZW50LnZhbHVlKCkuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSB0aGlzLnR1aUNoZWNrYm94Um93KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFyZW50Lm9uQ2hhbmdlKHR1aUFycmF5VG9nZ2xlKHRoaXMucGFyZW50LnZhbHVlKCksIHRoaXMudHVpQ2hlY2tib3hSb3cpKTtcbiAgICB9XG59XG4iXX0=
@@ -1,10 +1,14 @@
1
- import { Directive, inject } from '@angular/core';
1
+ import { computed, Directive, inject } from '@angular/core';
2
2
  import { NgControl, NgModel } from '@angular/forms';
3
3
  import { TuiTableControlDirective } from './table-control.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  class TuiCheckboxTableDirective {
6
6
  constructor() {
7
+ this.control = inject(NgControl);
7
8
  this.parent = inject(TuiTableControlDirective);
9
+ this.update = computed(() => {
10
+ this.control.control?.setValue(this.parent.indeterminate() ? null : this.parent.checked());
11
+ });
8
12
  }
9
13
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCheckboxTableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
14
  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 }); }
@@ -23,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
23
27
  },
24
28
  }]
25
29
  }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtdGFibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tdGFibGUvZGlyZWN0aXZlcy90YWJsZS1jb250cm9sL2NoZWNrYm94LXRhYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWxELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDOztBQUVuRSxNQVVhLHlCQUF5QjtJQVZ0QztRQVd1QixXQUFNLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7S0FDaEU7K0dBRlkseUJBQXlCO21HQUF6Qix5QkFBeUIsaU9BUHZCLENBQUMsRUFBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUMsQ0FBQzs7U0FPM0MseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBVnJDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLFNBQVMsRUFBRSxDQUFDLEVBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFDLENBQUM7b0JBQ3BELElBQUksRUFBRTt3QkFDRixXQUFXLEVBQUUsa0JBQWtCO3dCQUMvQixpQkFBaUIsRUFBRSx3QkFBd0I7d0JBQzNDLFVBQVUsRUFBRSxvQkFBb0I7cUJBQ25DO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbCwgTmdNb2RlbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge1R1aVRhYmxlQ29udHJvbERpcmVjdGl2ZX0gZnJvbSAnLi90YWJsZS1jb250cm9sLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpQ2hlY2tib3hdW3R1aUNoZWNrYm94VGFibGVdJyxcbiAgICBwcm92aWRlcnM6IFt7cHJvdmlkZTogTmdDb250cm9sLCB1c2VDbGFzczogTmdNb2RlbH1dLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjaGVja2VkXSc6ICdwYXJlbnQuY2hlY2tlZCgpJyxcbiAgICAgICAgJ1tpbmRldGVybWluYXRlXSc6ICdwYXJlbnQuaW5kZXRlcm1pbmF0ZSgpJyxcbiAgICAgICAgJyhjaGFuZ2UpJzogJ3BhcmVudC50b2dnbGVBbGwoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQ2hlY2tib3hUYWJsZURpcmVjdGl2ZSB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhcmVudCA9IGluamVjdChUdWlUYWJsZUNvbnRyb2xEaXJlY3RpdmUpO1xufVxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtdGFibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tdGFibGUvZGlyZWN0aXZlcy90YWJsZS1jb250cm9sL2NoZWNrYm94LXRhYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7QUFFbkUsTUFVYSx5QkFBeUI7SUFWdEM7UUFXcUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUxQixXQUFNLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDMUMsV0FBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQzdELENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztLQUNOOytHQVRZLHlCQUF5QjttR0FBekIseUJBQXlCLGlPQVB2QixDQUFDLEVBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFDLENBQUM7O1NBTzNDLHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQVZyQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsaUNBQWlDO29CQUMzQyxTQUFTLEVBQUUsQ0FBQyxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBQyxDQUFDO29CQUNwRCxJQUFJLEVBQUU7d0JBQ0YsV0FBVyxFQUFFLGtCQUFrQjt3QkFDL0IsaUJBQWlCLEVBQUUsd0JBQXdCO3dCQUMzQyxVQUFVLEVBQUUsb0JBQW9CO3FCQUNuQztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y29tcHV0ZWQsIERpcmVjdGl2ZSwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sLCBOZ01vZGVsfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7VHVpVGFibGVDb250cm9sRGlyZWN0aXZlfSBmcm9tICcuL3RhYmxlLWNvbnRyb2wuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlDaGVja2JveF1bdHVpQ2hlY2tib3hUYWJsZV0nLFxuICAgIHByb3ZpZGVyczogW3twcm92aWRlOiBOZ0NvbnRyb2wsIHVzZUNsYXNzOiBOZ01vZGVsfV0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NoZWNrZWRdJzogJ3BhcmVudC5jaGVja2VkKCknLFxuICAgICAgICAnW2luZGV0ZXJtaW5hdGVdJzogJ3BhcmVudC5pbmRldGVybWluYXRlKCknLFxuICAgICAgICAnKGNoYW5nZSknOiAncGFyZW50LnRvZ2dsZUFsbCgpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlDaGVja2JveFRhYmxlRGlyZWN0aXZlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2wgPSBpbmplY3QoTmdDb250cm9sKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBwYXJlbnQgPSBpbmplY3QoVHVpVGFibGVDb250cm9sRGlyZWN0aXZlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdXBkYXRlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNvbnRyb2wuY29udHJvbD8uc2V0VmFsdWUoXG4gICAgICAgICAgICB0aGlzLnBhcmVudC5pbmRldGVybWluYXRlKCkgPyBudWxsIDogdGhpcy5wYXJlbnQuY2hlY2tlZCgpLFxuICAgICAgICApO1xuICAgIH0pO1xufVxuIl19
@@ -32,8 +32,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
32
32
 
33
33
  class TuiCheckboxRowDirective {
34
34
  constructor() {
35
+ this.control = inject(NgControl);
35
36
  this.parent = inject(TuiTableControlDirective);
36
- this.checked = computed(() => this.parent.value().includes(this.tuiCheckboxRow));
37
+ this.checked = computed((checked = this.parent
38
+ .value()
39
+ .includes(this.tuiCheckboxRow)) => {
40
+ setTimeout(() => this.control.control?.setValue(checked));
41
+ return checked;
42
+ });
37
43
  }
38
44
  ngOnInit() {
39
45
  this.parent.process(this);
@@ -65,7 +71,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
65
71
 
66
72
  class TuiCheckboxTableDirective {
67
73
  constructor() {
74
+ this.control = inject(NgControl);
68
75
  this.parent = inject(TuiTableControlDirective);
76
+ this.update = computed(() => {
77
+ this.control.control?.setValue(this.parent.indeterminate() ? null : this.parent.checked());
78
+ });
69
79
  }
70
80
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCheckboxTableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
71
81
  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 }); }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-table-directives-table-control.mjs","sources":["../../../projects/addon-table/directives/table-control/table-control.directive.ts","../../../projects/addon-table/directives/table-control/checkbox-row.directive.ts","../../../projects/addon-table/directives/table-control/checkbox-table.directive.ts","../../../projects/addon-table/directives/table-control/table-control.ts","../../../projects/addon-table/directives/table-control/taiga-ui-addon-table-directives-table-control.ts"],"sourcesContent":["import {computed, Directive, type Signal, signal} from '@angular/core';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {tuiFallbackValueProvider} from '@taiga-ui/cdk/tokens';\nimport {tuiArrayToggle} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {type TuiCheckboxRowDirective} from './checkbox-row.directive';\n\n@Directive({\n standalone: true,\n selector: '[tuiTable][ngModel],[tuiTable][formControl],[tuiTable][formControlName]',\n providers: [tuiFallbackValueProvider([])],\n})\nexport class TuiTableControlDirective<T> extends TuiControl<readonly T[]> {\n private readonly children = signal<ReadonlyArray<TuiCheckboxRowDirective<T>>>([]);\n\n public readonly checked: Signal<boolean> = computed(() =>\n this.children().every((i) => this.value().includes(i.tuiCheckboxRow)),\n );\n\n public readonly indeterminate = computed(\n () => !!this.value().length && !this.checked(),\n );\n\n public toggleAll(): void {\n this.onChange(this.checked() ? [] : this.children().map((i) => i.tuiCheckboxRow));\n }\n\n public process(checkbox: TuiCheckboxRowDirective<T>): void {\n this.children.update((children) => tuiArrayToggle(children, checkbox));\n }\n}\n","import {\n computed,\n Directive,\n inject,\n Input,\n type OnDestroy,\n type OnInit,\n} from '@angular/core';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {tuiArrayToggle} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiTableControlDirective} from './table-control.directive';\n\n@Directive({\n standalone: true,\n selector: '[tuiCheckbox][tuiCheckboxRow]',\n providers: [{provide: NgControl, useClass: NgModel}],\n host: {\n '[checked]': 'checked()',\n '(change)': 'onChange()',\n },\n})\nexport class TuiCheckboxRowDirective<T> implements OnInit, OnDestroy {\n private readonly parent: TuiTableControlDirective<T> = inject(\n TuiTableControlDirective,\n );\n\n protected readonly checked = computed(() =>\n this.parent.value().includes(this.tuiCheckboxRow),\n );\n\n @Input()\n public tuiCheckboxRow!: T;\n\n public ngOnInit(): void {\n this.parent.process(this);\n }\n\n public ngOnDestroy(): void {\n this.parent.process(this);\n this.parent.onChange(\n this.parent.value().filter((item) => item !== this.tuiCheckboxRow),\n );\n }\n\n protected onChange(): void {\n this.parent.onChange(tuiArrayToggle(this.parent.value(), this.tuiCheckboxRow));\n }\n}\n","import {Directive, inject} from '@angular/core';\nimport {NgControl, NgModel} from '@angular/forms';\n\nimport {TuiTableControlDirective} from './table-control.directive';\n\n@Directive({\n standalone: true,\n selector: '[tuiCheckbox][tuiCheckboxTable]',\n providers: [{provide: NgControl, useClass: NgModel}],\n host: {\n '[checked]': 'parent.checked()',\n '[indeterminate]': 'parent.indeterminate()',\n '(change)': 'parent.toggleAll()',\n },\n})\nexport class TuiCheckboxTableDirective {\n protected readonly parent = inject(TuiTableControlDirective);\n}\n","import {TuiCheckboxRowDirective} from './checkbox-row.directive';\nimport {TuiCheckboxTableDirective} from './checkbox-table.directive';\nimport {TuiTableControlDirective} from './table-control.directive';\n\nexport const TuiTableControl = [\n TuiCheckboxRowDirective,\n TuiCheckboxTableDirective,\n TuiTableControlDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-table-directives-table-control.mjs","sources":["../../../projects/addon-table/directives/table-control/table-control.directive.ts","../../../projects/addon-table/directives/table-control/checkbox-row.directive.ts","../../../projects/addon-table/directives/table-control/checkbox-table.directive.ts","../../../projects/addon-table/directives/table-control/table-control.ts","../../../projects/addon-table/directives/table-control/taiga-ui-addon-table-directives-table-control.ts"],"sourcesContent":["import {computed, Directive, type Signal, signal} from '@angular/core';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {tuiFallbackValueProvider} from '@taiga-ui/cdk/tokens';\nimport {tuiArrayToggle} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {type TuiCheckboxRowDirective} from './checkbox-row.directive';\n\n@Directive({\n standalone: true,\n selector: '[tuiTable][ngModel],[tuiTable][formControl],[tuiTable][formControlName]',\n providers: [tuiFallbackValueProvider([])],\n})\nexport class TuiTableControlDirective<T> extends TuiControl<readonly T[]> {\n private readonly children = signal<ReadonlyArray<TuiCheckboxRowDirective<T>>>([]);\n\n public readonly checked: Signal<boolean> = computed(() =>\n this.children().every((i) => this.value().includes(i.tuiCheckboxRow)),\n );\n\n public readonly indeterminate = computed(\n () => !!this.value().length && !this.checked(),\n );\n\n public toggleAll(): void {\n this.onChange(this.checked() ? [] : this.children().map((i) => i.tuiCheckboxRow));\n }\n\n public process(checkbox: TuiCheckboxRowDirective<T>): void {\n this.children.update((children) => tuiArrayToggle(children, checkbox));\n }\n}\n","import {\n computed,\n Directive,\n inject,\n Input,\n type OnDestroy,\n type OnInit,\n} from '@angular/core';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {tuiArrayToggle} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiTableControlDirective} from './table-control.directive';\n\n@Directive({\n standalone: true,\n selector: '[tuiCheckbox][tuiCheckboxRow]',\n providers: [{provide: NgControl, useClass: NgModel}],\n host: {\n '[checked]': 'checked()',\n '(change)': 'onChange()',\n },\n})\nexport class TuiCheckboxRowDirective<T> implements OnInit, OnDestroy {\n private readonly control = inject(NgControl);\n private readonly parent: TuiTableControlDirective<T> = inject(\n TuiTableControlDirective,\n );\n\n protected readonly checked = computed((checked = this.parent\n .value()\n .includes(this.tuiCheckboxRow)) => {\n setTimeout(() => this.control.control?.setValue(checked));\n\n return checked;\n });\n\n @Input()\n public tuiCheckboxRow!: T;\n\n public ngOnInit(): void {\n this.parent.process(this);\n }\n\n public ngOnDestroy(): void {\n this.parent.process(this);\n this.parent.onChange(\n this.parent.value().filter((item) => item !== this.tuiCheckboxRow),\n );\n }\n\n protected onChange(): void {\n this.parent.onChange(tuiArrayToggle(this.parent.value(), this.tuiCheckboxRow));\n }\n}\n","import {computed, Directive, inject} from '@angular/core';\nimport {NgControl, NgModel} from '@angular/forms';\n\nimport {TuiTableControlDirective} from './table-control.directive';\n\n@Directive({\n standalone: true,\n selector: '[tuiCheckbox][tuiCheckboxTable]',\n providers: [{provide: NgControl, useClass: NgModel}],\n host: {\n '[checked]': 'parent.checked()',\n '[indeterminate]': 'parent.indeterminate()',\n '(change)': 'parent.toggleAll()',\n },\n})\nexport class TuiCheckboxTableDirective {\n private readonly control = inject(NgControl);\n\n protected readonly parent = inject(TuiTableControlDirective);\n protected readonly update = computed(() => {\n this.control.control?.setValue(\n this.parent.indeterminate() ? null : this.parent.checked(),\n );\n });\n}\n","import {TuiCheckboxRowDirective} from './checkbox-row.directive';\nimport {TuiCheckboxTableDirective} from './checkbox-table.directive';\nimport {TuiTableControlDirective} from './table-control.directive';\n\nexport const TuiTableControl = [\n TuiCheckboxRowDirective,\n TuiCheckboxTableDirective,\n TuiTableControlDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/addon-table",
3
- "version": "4.50.0-canary.77bd154",
3
+ "version": "4.50.0-canary.a980fc3",
4
4
  "description": "A library to display tabled data with filters, search, group actions, etc.",
5
5
  "keywords": [
6
6
  "angular",