@taiga-ui/addon-table 4.52.0-canary.932d3ef → 4.52.0-canary.974ca4b
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.
- package/README.md +2 -2
- package/components/reorder/reorder.component.d.ts +1 -1
- package/components/reorder/reorder.options.d.ts +1 -3
- package/components/table/table.options.d.ts +1 -3
- package/components/table-pagination/table-pagination.component.d.ts +2 -3
- package/components/table-pagination/table-pagination.options.d.ts +1 -3
- package/directives/table-control/checkbox-table.directive.d.ts +2 -1
- package/fesm2022/taiga-ui-addon-table-components-reorder.mjs +7 -13
- package/fesm2022/taiga-ui-addon-table-components-reorder.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-table-components-table-pagination.mjs +9 -25
- package/fesm2022/taiga-ui-addon-table-components-table-pagination.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-table-components-table.mjs +18 -34
- package/fesm2022/taiga-ui-addon-table-components-table.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-table-directives-table-control.mjs +11 -12
- package/fesm2022/taiga-ui-addon-table-directives-table-control.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-table-directives-table-filters.mjs +0 -4
- package/fesm2022/taiga-ui-addon-table-directives-table-filters.mjs.map +1 -1
- package/package.json +6 -3
- package/tokens/i18n.d.ts +2 -2
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { signal, computed, Directive, inject, Input } from '@angular/core';
|
|
2
|
+
import { signal, computed, Directive, inject, Input, effect } from '@angular/core';
|
|
3
3
|
import { NgControl, NgModel } from '@angular/forms';
|
|
4
4
|
import { tuiArrayToggle } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
5
5
|
import { TuiControl } from '@taiga-ui/cdk/classes';
|
|
6
6
|
import { tuiFallbackValueProvider } from '@taiga-ui/cdk/tokens';
|
|
7
|
+
import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
|
|
7
8
|
|
|
8
9
|
class TuiTableControlDirective extends TuiControl {
|
|
9
10
|
constructor() {
|
|
@@ -24,7 +25,6 @@ class TuiTableControlDirective extends TuiControl {
|
|
|
24
25
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiTableControlDirective, decorators: [{
|
|
25
26
|
type: Directive,
|
|
26
27
|
args: [{
|
|
27
|
-
standalone: true,
|
|
28
28
|
selector: '[tuiTable][ngModel],[tuiTable][formControl],[tuiTable][formControlName]',
|
|
29
29
|
providers: [tuiFallbackValueProvider([])],
|
|
30
30
|
}]
|
|
@@ -57,7 +57,6 @@ class TuiCheckboxRowDirective {
|
|
|
57
57
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiCheckboxRowDirective, decorators: [{
|
|
58
58
|
type: Directive,
|
|
59
59
|
args: [{
|
|
60
|
-
standalone: true,
|
|
61
60
|
selector: '[tuiCheckbox][tuiCheckboxRow]',
|
|
62
61
|
providers: [{ provide: NgControl, useClass: NgModel }],
|
|
63
62
|
host: {
|
|
@@ -71,26 +70,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
71
70
|
|
|
72
71
|
class TuiCheckboxTableDirective {
|
|
73
72
|
constructor() {
|
|
73
|
+
this.el = tuiInjectElement();
|
|
74
74
|
this.control = inject(NgControl);
|
|
75
75
|
this.parent = inject(TuiTableControlDirective);
|
|
76
|
-
this.update =
|
|
77
|
-
|
|
76
|
+
this.update = effect(() => {
|
|
77
|
+
const indeterminate = this.parent.indeterminate();
|
|
78
|
+
const checked = this.parent.checked();
|
|
79
|
+
this.el.indeterminate = indeterminate;
|
|
80
|
+
this.el.checked = checked;
|
|
81
|
+
this.control.control?.setValue(indeterminate ? null : checked);
|
|
78
82
|
});
|
|
79
83
|
}
|
|
80
84
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiCheckboxTableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
81
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiCheckboxTableDirective, isStandalone: true, selector: "[tuiCheckbox][tuiCheckboxTable]", host: { listeners: { "change": "parent.toggleAll()" }
|
|
85
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiCheckboxTableDirective, isStandalone: true, selector: "[tuiCheckbox][tuiCheckboxTable]", host: { listeners: { "change": "parent.toggleAll()" } }, providers: [{ provide: NgControl, useClass: NgModel }], ngImport: i0 }); }
|
|
82
86
|
}
|
|
83
87
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiCheckboxTableDirective, decorators: [{
|
|
84
88
|
type: Directive,
|
|
85
89
|
args: [{
|
|
86
|
-
standalone: true,
|
|
87
90
|
selector: '[tuiCheckbox][tuiCheckboxTable]',
|
|
88
91
|
providers: [{ provide: NgControl, useClass: NgModel }],
|
|
89
|
-
host: {
|
|
90
|
-
'[checked]': 'parent.checked()',
|
|
91
|
-
'[indeterminate]': 'parent.indeterminate()',
|
|
92
|
-
'(change)': 'parent.toggleAll()',
|
|
93
|
-
},
|
|
92
|
+
host: { '(change)': 'parent.toggleAll()' },
|
|
94
93
|
}]
|
|
95
94
|
}] });
|
|
96
95
|
|
|
@@ -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
|
|
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 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 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 {Directive, effect, inject} from '@angular/core';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {TuiTableControlDirective} from './table-control.directive';\n\n@Directive({\n selector: '[tuiCheckbox][tuiCheckboxTable]',\n providers: [{provide: NgControl, useClass: NgModel}],\n host: {'(change)': 'parent.toggleAll()'},\n})\nexport class TuiCheckboxTableDirective {\n private readonly el = tuiInjectElement<HTMLInputElement>();\n private readonly control = inject(NgControl);\n\n protected readonly parent = inject(TuiTableControlDirective);\n protected readonly update = effect(() => {\n const indeterminate = this.parent.indeterminate();\n const checked = this.parent.checked();\n\n this.el.indeterminate = indeterminate;\n this.el.checked = checked;\n this.control.control?.setValue(indeterminate ? null : checked);\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":";;;;;;;;AAWM,MAAO,wBAA4B,SAAQ,UAAwB,CAAA;AAJzE,IAAA,WAAA,GAAA;;AAKqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAA4C,EAAE,CAAC;AAEjE,QAAA,IAAA,CAAA,OAAO,GAAoB,QAAQ,CAAC,MAChD,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CACxE;QAEe,IAAa,CAAA,aAAA,GAAG,QAAQ,CACpC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CACjD;AASJ;IAPU,SAAS,GAAA;AACZ,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC;;AAG9E,IAAA,OAAO,CAAC,QAAoC,EAAA;AAC/C,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;;+GAhBjE,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,sHAFtB,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEhC,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,yEAAyE;AACnF,oBAAA,SAAS,EAAE,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;AAC5C,iBAAA;;;MCWY,uBAAuB,CAAA;AARpC,IAAA,WAAA,GAAA;AASqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC;AAC3B,QAAA,IAAA,CAAA,MAAM,GAAgC,MAAM,CACzD,wBAAwB,CAC3B;QAEkB,IAAO,CAAA,OAAA,GAAG,QAAQ,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;AACjD,aAAA,KAAK;AACL,aAAA,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,KAAI;AAClC,YAAA,UAAU,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;AAEzD,YAAA,OAAO,OAAO;AAClB,SAAC,CAAC;AAmBL;IAdU,QAAQ,GAAA;AACX,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;IAGtB,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAChB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,cAAc,CAAC,CACrE;;IAGK,QAAQ,GAAA;AACd,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;;+GA7BzE,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,YAAA,EAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EANrB,CAAC,EAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAM3C,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBARnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,+BAA+B;oBACzC,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAC,CAAC;AACpD,oBAAA,IAAI,EAAE;AACF,wBAAA,WAAW,EAAE,WAAW;AACxB,wBAAA,UAAU,EAAE,YAAY;AAC3B,qBAAA;AACJ,iBAAA;8BAgBU,cAAc,EAAA,CAAA;sBADpB;;;MCxBQ,yBAAyB,CAAA;AALtC,IAAA,WAAA,GAAA;QAMqB,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAoB;AACzC,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC;AAEzB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,wBAAwB,CAAC;AACzC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAK;YACpC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AAErC,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,GAAG,aAAa;AACrC,YAAA,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,OAAO;AACzB,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC;AAClE,SAAC,CAAC;AACL;+GAbY,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EAHvB,CAAC,EAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAG3C,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iCAAiC;oBAC3C,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAC,CAAC;AACpD,oBAAA,IAAI,EAAE,EAAC,UAAU,EAAE,oBAAoB,EAAC;AAC3C,iBAAA;;;ACNY,MAAA,eAAe,GAAG;IAC3B,uBAAuB;IACvB,yBAAyB;IACzB,wBAAwB;;;ACP5B;;AAEG;;;;"}
|
|
@@ -20,7 +20,6 @@ class TuiGenericFilter extends AbstractTuiTableFilter {
|
|
|
20
20
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiGenericFilter, decorators: [{
|
|
21
21
|
type: Directive,
|
|
22
22
|
args: [{
|
|
23
|
-
standalone: true,
|
|
24
23
|
selector: '[tuiGenericFilter]',
|
|
25
24
|
providers: [tuiProvide(AbstractTuiTableFilter, TuiGenericFilter)],
|
|
26
25
|
}]
|
|
@@ -57,7 +56,6 @@ class TuiTableFiltersDirective {
|
|
|
57
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiTableFiltersDirective, decorators: [{
|
|
58
57
|
type: Directive,
|
|
59
58
|
args: [{
|
|
60
|
-
standalone: true,
|
|
61
59
|
selector: '[tuiTableFilters]',
|
|
62
60
|
}]
|
|
63
61
|
}] });
|
|
@@ -91,7 +89,6 @@ class TuiTableFilterDirective {
|
|
|
91
89
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiTableFilterDirective, decorators: [{
|
|
92
90
|
type: Directive,
|
|
93
91
|
args: [{
|
|
94
|
-
standalone: true,
|
|
95
92
|
selector: '[tuiTableFilter]',
|
|
96
93
|
}]
|
|
97
94
|
}], propDecorators: { tuiTableFilter: [{
|
|
@@ -111,7 +108,6 @@ class TuiTableFiltersPipe {
|
|
|
111
108
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiTableFiltersPipe, decorators: [{
|
|
112
109
|
type: Pipe,
|
|
113
110
|
args: [{
|
|
114
|
-
standalone: true,
|
|
115
111
|
name: 'tuiTableFilters',
|
|
116
112
|
}]
|
|
117
113
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-table-directives-table-filters.mjs","sources":["../../../projects/addon-table/directives/table-filters/abstract-table-filter.ts","../../../projects/addon-table/directives/table-filters/generic-filter.directive.ts","../../../projects/addon-table/directives/table-filters/table-filters.directive.ts","../../../projects/addon-table/directives/table-filters/table-filter.directive.ts","../../../projects/addon-table/directives/table-filters/table-filters.pipe.ts","../../../projects/addon-table/directives/table-filters/table-filters.ts","../../../projects/addon-table/directives/table-filters/taiga-ui-addon-table-directives-table-filters.ts"],"sourcesContent":["export abstract class AbstractTuiTableFilter<T, G> {\n public abstract filter(item: T, value: G): boolean;\n}\n","import {Directive, Input} from '@angular/core';\nimport {TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {AbstractTuiTableFilter} from './abstract-table-filter';\n\n@Directive({\n
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-table-directives-table-filters.mjs","sources":["../../../projects/addon-table/directives/table-filters/abstract-table-filter.ts","../../../projects/addon-table/directives/table-filters/generic-filter.directive.ts","../../../projects/addon-table/directives/table-filters/table-filters.directive.ts","../../../projects/addon-table/directives/table-filters/table-filter.directive.ts","../../../projects/addon-table/directives/table-filters/table-filters.pipe.ts","../../../projects/addon-table/directives/table-filters/table-filters.ts","../../../projects/addon-table/directives/table-filters/taiga-ui-addon-table-directives-table-filters.ts"],"sourcesContent":["export abstract class AbstractTuiTableFilter<T, G> {\n public abstract filter(item: T, value: G): boolean;\n}\n","import {Directive, Input} from '@angular/core';\nimport {TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {AbstractTuiTableFilter} from './abstract-table-filter';\n\n@Directive({\n selector: '[tuiGenericFilter]',\n providers: [tuiProvide(AbstractTuiTableFilter, TuiGenericFilter)],\n})\nexport class TuiGenericFilter<T, G> extends AbstractTuiTableFilter<T, G> {\n @Input('tuiGenericFilter')\n public filter: (item: T, value: G) => boolean = TUI_TRUE_HANDLER;\n}\n","import {Directive} from '@angular/core';\nimport {\n identity,\n map,\n merge,\n type Observable,\n ReplaySubject,\n startWith,\n switchMap,\n} from 'rxjs';\n\nimport {type TuiTableFilter} from './table-filter';\n\n@Directive({\n selector: '[tuiTableFilters]',\n})\nexport class TuiTableFiltersDirective<T> {\n private readonly refresh$ = new ReplaySubject<Observable<unknown>>(1);\n\n private filters: ReadonlyArray<TuiTableFilter<T>> = [];\n\n public register(filter: TuiTableFilter<T>): void {\n this.filters = this.filters.concat(filter);\n this.update();\n }\n\n public unregister(filter: TuiTableFilter<T>): void {\n this.filters = this.filters.filter((item) => item !== filter);\n this.update();\n }\n\n public filter(items: readonly T[]): Observable<readonly T[]> {\n return this.refresh$.pipe(\n switchMap(identity),\n startWith(null),\n map(() => items.filter((item) => this.check(item))),\n );\n }\n\n private check(item: T): boolean {\n return this.filters.every((filter) => filter.filter(item));\n }\n\n private update(): void {\n this.refresh$.next(merge(...this.filters.map(({refresh$}) => refresh$)));\n }\n}\n","import {Directive, inject, Input, type OnDestroy, type OnInit} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiTableHead} from '@taiga-ui/addon-table/components';\nimport {type TuiValuesOf} from '@taiga-ui/cdk/types';\nimport {defer, distinctUntilChanged, EMPTY, merge} from 'rxjs';\n\nimport {AbstractTuiTableFilter} from './abstract-table-filter';\nimport {type TuiTableFilter} from './table-filter';\nimport {TuiTableFiltersDirective} from './table-filters.directive';\n\n@Directive({\n selector: '[tuiTableFilter]',\n})\nexport class TuiTableFilterDirective<T> implements OnInit, OnDestroy, TuiTableFilter<T> {\n private readonly head = inject(TuiTableHead<T>, {optional: true});\n private readonly delegate = inject(AbstractTuiTableFilter<TuiValuesOf<T>, unknown>);\n private readonly control = inject(NgControl);\n protected readonly filters = inject(TuiTableFiltersDirective<T>);\n\n @Input()\n public tuiTableFilter?: keyof T;\n\n public readonly refresh$ = defer(() =>\n merge(\n this.control.valueChanges || EMPTY,\n this.control.statusChanges?.pipe(distinctUntilChanged()) || EMPTY,\n ),\n );\n\n public ngOnInit(): void {\n this.filters.register(this);\n }\n\n public ngOnDestroy(): void {\n this.filters.unregister(this);\n }\n\n public filter(item: T): boolean {\n const {disabled, value} = this.control;\n\n return (\n !!disabled ||\n !this.key ||\n this.delegate.filter(item[this.key as keyof T], value)\n );\n }\n\n private get key(): string | keyof T | undefined {\n return this.tuiTableFilter || this.head?.tuiHead;\n }\n}\n","import {inject, Pipe, type PipeTransform} from '@angular/core';\nimport {type Observable} from 'rxjs';\n\nimport {TuiTableFiltersDirective} from './table-filters.directive';\n\n@Pipe({\n name: 'tuiTableFilters',\n})\nexport class TuiTableFiltersPipe<T> implements PipeTransform {\n private readonly filters = inject(TuiTableFiltersDirective<T>);\n\n public transform<T>(items: readonly T[]): Observable<readonly T[]> {\n return this.filters.filter(items);\n }\n}\n","import {TuiGenericFilter} from './generic-filter.directive';\nimport {TuiTableFilterDirective} from './table-filter.directive';\nimport {TuiTableFiltersDirective} from './table-filters.directive';\nimport {TuiTableFiltersPipe} from './table-filters.pipe';\n\nexport const TuiTableFilters = [\n TuiTableFiltersDirective,\n TuiTableFilterDirective,\n TuiTableFiltersPipe,\n TuiGenericFilter,\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.52.0-canary.
|
|
3
|
+
"version": "4.52.0-canary.974ca4b",
|
|
4
4
|
"description": "A library to display tabled data with filters, search, group actions, etc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -10,12 +10,15 @@
|
|
|
10
10
|
"action"
|
|
11
11
|
],
|
|
12
12
|
"homepage": "https://github.com/taiga-family/taiga-ui",
|
|
13
|
-
"repository":
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "https://github.com/taiga-family/taiga-ui"
|
|
16
|
+
},
|
|
14
17
|
"license": "Apache-2.0",
|
|
15
18
|
"peerDependencies": {
|
|
16
19
|
"@angular/common": ">=19.0.0",
|
|
17
20
|
"@angular/core": ">=19.0.0",
|
|
18
|
-
"@ng-web-apis/intersection-observer": "^4.12.
|
|
21
|
+
"@ng-web-apis/intersection-observer": "^4.12.2",
|
|
19
22
|
"@taiga-ui/cdk": "^4.52.0",
|
|
20
23
|
"@taiga-ui/core": "^4.52.0",
|
|
21
24
|
"@taiga-ui/i18n": "^4.52.0",
|
package/tokens/i18n.d.ts
CHANGED
|
@@ -2,11 +2,11 @@ import { InjectionToken } from '@angular/core';
|
|
|
2
2
|
/**
|
|
3
3
|
* tui-reorder i18n button
|
|
4
4
|
*/
|
|
5
|
-
export declare const TUI_TABLE_SHOW_HIDE_MESSAGE: InjectionToken<import("
|
|
5
|
+
export declare const TUI_TABLE_SHOW_HIDE_MESSAGE: InjectionToken<import("@angular/core").Signal<string>>;
|
|
6
6
|
/**
|
|
7
7
|
* tui-table-pagination i18n texts
|
|
8
8
|
*/
|
|
9
|
-
export declare const TUI_TABLE_PAGINATION_TEXTS: InjectionToken<import("
|
|
9
|
+
export declare const TUI_TABLE_PAGINATION_TEXTS: InjectionToken<import("@angular/core").Signal<{
|
|
10
10
|
linesPerPage: string;
|
|
11
11
|
of: string;
|
|
12
12
|
pages: string;
|