@taiga-ui/addon-table 4.52.0-canary.e444d19 → 4.52.0-canary.ec0802b
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/pipes/table-sort.pipe.d.ts +4 -4
- 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 +20 -35
- 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 +10 -7
- package/tokens/i18n.d.ts +2 -2
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ export declare class TuiReorder<T> {
|
|
|
7
7
|
protected order: Map<number, number>;
|
|
8
8
|
protected unsortedItems: readonly T[];
|
|
9
9
|
protected readonly options: import("./reorder.options").TuiReorderOptions;
|
|
10
|
-
protected readonly showHideText
|
|
10
|
+
protected readonly showHideText: import("@angular/core").Signal<string>;
|
|
11
11
|
enabled: readonly T[];
|
|
12
12
|
readonly itemsChange: EventEmitter<T[]>;
|
|
13
13
|
readonly enabledChange: EventEmitter<T[]>;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { InjectionToken, type Provider } from '@angular/core';
|
|
2
1
|
export interface TuiReorderOptions {
|
|
3
2
|
readonly icons: {
|
|
4
3
|
readonly drag: string;
|
|
@@ -7,5 +6,4 @@ export interface TuiReorderOptions {
|
|
|
7
6
|
};
|
|
8
7
|
}
|
|
9
8
|
export declare const TUI_REORDER_DEFAULT_OPTIONS: TuiReorderOptions;
|
|
10
|
-
export declare const TUI_REORDER_OPTIONS: InjectionToken<TuiReorderOptions
|
|
11
|
-
export declare function tuiReorderOptionsProvider(options: Partial<TuiReorderOptions>): Provider;
|
|
9
|
+
export declare const TUI_REORDER_OPTIONS: import("@angular/core").InjectionToken<TuiReorderOptions>, tuiReorderOptionsProvider: (item: Partial<TuiReorderOptions> | (() => Partial<TuiReorderOptions>)) => import("@angular/core").FactoryProvider;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type PipeTransform } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class TuiTableSortPipe
|
|
3
|
+
export declare class TuiTableSortPipe implements PipeTransform {
|
|
4
4
|
private readonly table;
|
|
5
|
-
transform<T
|
|
5
|
+
transform<T>(data?: readonly T[] | null): readonly T[];
|
|
6
6
|
private sort;
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiTableSortPipe
|
|
8
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<TuiTableSortPipe
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiTableSortPipe, never>;
|
|
8
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<TuiTableSortPipe, "tuiTableSort", true>;
|
|
9
9
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { InjectionToken, type Provider } from '@angular/core';
|
|
2
1
|
import { type TuiComparator } from '@taiga-ui/addon-table/types';
|
|
3
2
|
import { type TuiSizeL, type TuiSizeS } from '@taiga-ui/core/types';
|
|
4
3
|
export declare const TuiSortDirection: {
|
|
@@ -44,5 +43,4 @@ export interface TuiTableOptions {
|
|
|
44
43
|
readonly sticky: boolean;
|
|
45
44
|
}
|
|
46
45
|
export declare const TUI_TABLE_DEFAULT_OPTIONS: TuiTableOptions;
|
|
47
|
-
export declare const TUI_TABLE_OPTIONS: InjectionToken<TuiTableOptions
|
|
48
|
-
export declare function tuiTableOptionsProvider(options: Partial<TuiTableOptions>): Provider;
|
|
46
|
+
export declare const TUI_TABLE_OPTIONS: import("@angular/core").InjectionToken<TuiTableOptions>, tuiTableOptionsProvider: (item: Partial<TuiTableOptions> | (() => Partial<TuiTableOptions>)) => import("@angular/core").FactoryProvider;
|
|
@@ -7,10 +7,9 @@ export interface TuiTablePaginationEvent {
|
|
|
7
7
|
}
|
|
8
8
|
export declare class TuiTablePagination {
|
|
9
9
|
private readonly options;
|
|
10
|
-
protected open: boolean;
|
|
11
10
|
protected readonly icons: import("@taiga-ui/core/tokens").TuiSpinIcons;
|
|
12
|
-
protected readonly spinTexts
|
|
13
|
-
protected readonly texts
|
|
11
|
+
protected readonly spinTexts: import("@angular/core").Signal<readonly [previous: string, next: string]>;
|
|
12
|
+
protected readonly texts: import("@angular/core").Signal<{
|
|
14
13
|
linesPerPage: string;
|
|
15
14
|
of: string;
|
|
16
15
|
pages: string;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { InjectionToken, type Provider } from '@angular/core';
|
|
2
1
|
import { type TuiContext } from '@taiga-ui/cdk/types';
|
|
3
2
|
import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
|
|
4
3
|
export interface TuiTablePaginationOptions {
|
|
@@ -13,5 +12,4 @@ export declare const TUI_TABLE_PAGINATION_DEFAULT_OPTIONS: TuiTablePaginationOpt
|
|
|
13
12
|
/**
|
|
14
13
|
* Default parameters for TablePagination component
|
|
15
14
|
*/
|
|
16
|
-
export declare const TUI_TABLE_PAGINATION_OPTIONS: InjectionToken<TuiTablePaginationOptions
|
|
17
|
-
export declare function tuiTablePaginationOptionsProvider(options: Partial<TuiTablePaginationOptions>): Provider;
|
|
15
|
+
export declare const TUI_TABLE_PAGINATION_OPTIONS: import("@angular/core").InjectionToken<TuiTablePaginationOptions>, tuiTablePaginationOptionsProvider: (item: Partial<TuiTablePaginationOptions> | (() => Partial<TuiTablePaginationOptions>)) => import("@angular/core").FactoryProvider;
|
|
@@ -1,9 +1,10 @@
|
|
|
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 el;
|
|
4
5
|
private readonly control;
|
|
5
6
|
protected readonly parent: TuiTableControlDirective<any>;
|
|
6
|
-
protected readonly update: import("@angular/core").
|
|
7
|
+
protected readonly update: import("@angular/core").EffectRef;
|
|
7
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiCheckboxTableDirective, never>;
|
|
8
9
|
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiCheckboxTableDirective, "[tuiCheckbox][tuiCheckboxTable]", never, {}, {}, never, never, true, never>;
|
|
9
10
|
}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { AsyncPipe } from '@angular/common';
|
|
2
1
|
import * as i0 from '@angular/core';
|
|
3
|
-
import {
|
|
2
|
+
import { inject, EventEmitter, Input, Output, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
4
3
|
import { TUI_TABLE_SHOW_HIDE_MESSAGE } from '@taiga-ui/addon-table/tokens';
|
|
5
4
|
import { TuiButton } from '@taiga-ui/core/components/button';
|
|
6
5
|
import { TuiIcon } from '@taiga-ui/core/components/icon';
|
|
7
6
|
import * as i1 from '@taiga-ui/kit/components/tiles';
|
|
8
7
|
import { tuiTilesShift, TUI_TILES_REORDER, TuiTiles } from '@taiga-ui/kit/components/tiles';
|
|
9
8
|
import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
|
|
10
|
-
import {
|
|
9
|
+
import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
|
|
11
10
|
|
|
12
11
|
const TUI_REORDER_DEFAULT_OPTIONS = {
|
|
13
12
|
icons: {
|
|
@@ -16,12 +15,7 @@ const TUI_REORDER_DEFAULT_OPTIONS = {
|
|
|
16
15
|
drag: '@tui.grip-vertical',
|
|
17
16
|
},
|
|
18
17
|
};
|
|
19
|
-
const TUI_REORDER_OPTIONS =
|
|
20
|
-
factory: () => TUI_REORDER_DEFAULT_OPTIONS,
|
|
21
|
-
});
|
|
22
|
-
function tuiReorderOptionsProvider(options) {
|
|
23
|
-
return tuiProvideOptions(TUI_REORDER_OPTIONS, options, TUI_REORDER_DEFAULT_OPTIONS);
|
|
24
|
-
}
|
|
18
|
+
const [TUI_REORDER_OPTIONS, tuiReorderOptionsProvider] = tuiCreateOptions(TUI_REORDER_DEFAULT_OPTIONS);
|
|
25
19
|
|
|
26
20
|
class TuiReorder {
|
|
27
21
|
constructor() {
|
|
@@ -29,7 +23,7 @@ class TuiReorder {
|
|
|
29
23
|
this.order = new Map();
|
|
30
24
|
this.unsortedItems = [];
|
|
31
25
|
this.options = inject(TUI_REORDER_OPTIONS);
|
|
32
|
-
this.showHideText
|
|
26
|
+
this.showHideText = inject(TUI_TABLE_SHOW_HIDE_MESSAGE);
|
|
33
27
|
this.enabled = [];
|
|
34
28
|
this.itemsChange = new EventEmitter();
|
|
35
29
|
this.enabledChange = new EventEmitter();
|
|
@@ -98,11 +92,11 @@ class TuiReorder {
|
|
|
98
92
|
provide: TUI_TILES_REORDER,
|
|
99
93
|
useValue: tuiTilesShift,
|
|
100
94
|
},
|
|
101
|
-
], ngImport: i0, template: "<tui-tiles\n class=\"t-wrapper\"\n [(order)]=\"order\"\n>\n @for (item of unsortedItems; track item
|
|
95
|
+
], ngImport: i0, template: "<tui-tiles\n class=\"t-wrapper\"\n [(order)]=\"order\"\n>\n @for (item of unsortedItems; track item) {\n <tui-tile [style.order]=\"order.get($index)\">\n <div\n class=\"t-item\"\n [class.t-item_disabled]=\"!isEnabled(item)\"\n >\n <div\n tuiTileHandle\n class=\"t-draggable\"\n >\n <tui-icon\n class=\"t-icon\"\n [icon]=\"options.icons.drag\"\n />\n <ng-container *polymorpheusOutlet=\"content as template; context: {$implicit: item, index: $index}\">\n {{ template }}\n </ng-container>\n </div>\n <button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [iconStart]=\"getIcon(item)\"\n (click)=\"toggle(item)\"\n (keydown.arrowDown.prevent)=\"move($index, 1)\"\n (keydown.arrowUp.prevent)=\"move($index, -1)\"\n >\n {{ showHideText() }}\n </button>\n </div>\n </tui-tile>\n }\n</tui-tiles>\n", styles: [":host{display:block;font:var(--tui-font-text-s);padding:.5rem 0;-webkit-user-select:none;user-select:none}.t-wrapper{grid-auto-rows:2rem}.t-draggable{cursor:ns-resize;flex:1 1 auto}.t-item{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;block-size:2rem;align-items:center;padding:0 .75rem;background:var(--tui-background-base)}.t-item_disabled{opacity:var(--tui-disabled-opacity)}.t-item_disabled .t-button{color:var(--tui-text-primary);opacity:1}.t-item:hover{background:var(--tui-background-base-alt)}.t-item:hover .t-button{opacity:1}.t-icon{margin-inline-end:.5rem;color:var(--tui-text-tertiary)}.t-icon:before{font-size:1rem}.t-button{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-inline-start:auto;opacity:0}.t-button:focus{opacity:1}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }, { kind: "component", type: i1.TuiTilesComponent, selector: "tui-tiles", inputs: ["debounce", "order"], outputs: ["orderChange"] }, { kind: "component", type: i1.TuiTile, selector: "tui-tile", inputs: ["width", "height"] }, { kind: "directive", type: i1.TuiTileHandle, selector: "[tuiTileHandle]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
102
96
|
}
|
|
103
97
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiReorder, decorators: [{
|
|
104
98
|
type: Component,
|
|
105
|
-
args: [{ selector: 'tui-reorder', imports: [
|
|
99
|
+
args: [{ selector: 'tui-reorder', imports: [PolymorpheusOutlet, TuiButton, TuiIcon, TuiTiles], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
106
100
|
{
|
|
107
101
|
provide: TUI_TILES_REORDER,
|
|
108
102
|
useValue: tuiTilesShift,
|
|
@@ -111,7 +105,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
111
105
|
'(focusout.stop)': '(0)',
|
|
112
106
|
'(pointerdown.zoneless)': 'onDrag()',
|
|
113
107
|
'(document:pointerup.zoneless)': 'onDrop()',
|
|
114
|
-
}, template: "<tui-tiles\n class=\"t-wrapper\"\n [(order)]=\"order\"\n>\n @for (item of unsortedItems; track item
|
|
108
|
+
}, template: "<tui-tiles\n class=\"t-wrapper\"\n [(order)]=\"order\"\n>\n @for (item of unsortedItems; track item) {\n <tui-tile [style.order]=\"order.get($index)\">\n <div\n class=\"t-item\"\n [class.t-item_disabled]=\"!isEnabled(item)\"\n >\n <div\n tuiTileHandle\n class=\"t-draggable\"\n >\n <tui-icon\n class=\"t-icon\"\n [icon]=\"options.icons.drag\"\n />\n <ng-container *polymorpheusOutlet=\"content as template; context: {$implicit: item, index: $index}\">\n {{ template }}\n </ng-container>\n </div>\n <button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [iconStart]=\"getIcon(item)\"\n (click)=\"toggle(item)\"\n (keydown.arrowDown.prevent)=\"move($index, 1)\"\n (keydown.arrowUp.prevent)=\"move($index, -1)\"\n >\n {{ showHideText() }}\n </button>\n </div>\n </tui-tile>\n }\n</tui-tiles>\n", styles: [":host{display:block;font:var(--tui-font-text-s);padding:.5rem 0;-webkit-user-select:none;user-select:none}.t-wrapper{grid-auto-rows:2rem}.t-draggable{cursor:ns-resize;flex:1 1 auto}.t-item{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;block-size:2rem;align-items:center;padding:0 .75rem;background:var(--tui-background-base)}.t-item_disabled{opacity:var(--tui-disabled-opacity)}.t-item_disabled .t-button{color:var(--tui-text-primary);opacity:1}.t-item:hover{background:var(--tui-background-base-alt)}.t-item:hover .t-button{opacity:1}.t-icon{margin-inline-end:.5rem;color:var(--tui-text-tertiary)}.t-icon:before{font-size:1rem}.t-button{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-inline-start:auto;opacity:0}.t-button:focus{opacity:1}\n"] }]
|
|
115
109
|
}], propDecorators: { enabled: [{
|
|
116
110
|
type: Input
|
|
117
111
|
}], itemsChange: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-table-components-reorder.mjs","sources":["../../../projects/addon-table/components/reorder/reorder.options.ts","../../../projects/addon-table/components/reorder/reorder.component.ts","../../../projects/addon-table/components/reorder/reorder.template.html","../../../projects/addon-table/components/reorder/taiga-ui-addon-table-components-reorder.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport interface TuiReorderOptions {\n readonly icons: {\n readonly drag: string;\n readonly hide: string;\n readonly show: string;\n };\n}\n\nexport const TUI_REORDER_DEFAULT_OPTIONS: TuiReorderOptions = {\n icons: {\n hide: '@tui.eye-off',\n show: '@tui.eye',\n drag: '@tui.grip-vertical',\n },\n};\n\nexport const TUI_REORDER_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_REORDER_OPTIONS' : '',\n {\n factory: () => TUI_REORDER_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiReorderOptionsProvider(options: Partial<TuiReorderOptions>): Provider {\n return tuiProvideOptions(TUI_REORDER_OPTIONS, options, TUI_REORDER_DEFAULT_OPTIONS);\n}\n","import {AsyncPipe} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {TUI_TABLE_SHOW_HIDE_MESSAGE} from '@taiga-ui/addon-table/tokens';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TUI_TILES_REORDER, TuiTiles, tuiTilesShift} from '@taiga-ui/kit/components/tiles';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TUI_REORDER_OPTIONS} from './reorder.options';\n\n@Component({\n selector: 'tui-reorder',\n imports: [AsyncPipe, PolymorpheusOutlet, TuiButton, TuiIcon, TuiTiles],\n templateUrl: './reorder.template.html',\n styleUrls: ['./reorder.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_TILES_REORDER,\n useValue: tuiTilesShift,\n },\n ],\n host: {\n '(focusout.stop)': '(0)',\n '(pointerdown.zoneless)': 'onDrag()',\n '(document:pointerup.zoneless)': 'onDrop()',\n },\n})\nexport class TuiReorder<T> {\n private dragging = false;\n\n protected order = new Map<number, number>();\n protected unsortedItems: readonly T[] = [];\n protected readonly options = inject(TUI_REORDER_OPTIONS);\n protected readonly showHideText$ = inject(TUI_TABLE_SHOW_HIDE_MESSAGE);\n\n @Input()\n public enabled: readonly T[] = [];\n\n @Output()\n public readonly itemsChange = new EventEmitter<T[]>();\n\n @Output()\n public readonly enabledChange = new EventEmitter<T[]>();\n\n @Input()\n public set items(items: readonly T[]) {\n if (\n items.length !== this.unsortedItems.length ||\n !items.every((item) => this.unsortedItems.includes(item))\n ) {\n this.unsortedItems = items;\n }\n }\n\n @Input()\n public content: PolymorpheusContent<TuiContext<T> & {index: number}> = ({\n $implicit,\n }) => String($implicit);\n\n protected onDrag(): void {\n this.dragging = true;\n }\n\n protected onDrop(): void {\n if (!this.dragging) {\n return;\n }\n\n this.dragging = false;\n this.updateItems();\n }\n\n protected isEnabled(item: T): boolean {\n return this.enabled.includes(item);\n }\n\n protected getIcon(item: T): string {\n return this.isEnabled(item) ? this.options.icons.hide : this.options.icons.show;\n }\n\n protected toggle(toggled: T): void {\n this.enabled = this.isEnabled(toggled)\n ? this.enabled.filter((item) => item !== toggled)\n : this.enabled.concat(toggled);\n\n this.updateEnabled();\n }\n\n protected move(index: number, direction: number): void {\n const oldIndex = this.order.get(index) ?? index;\n\n if (\n (!oldIndex && direction < 0) ||\n (oldIndex === this.unsortedItems.length - 1 && direction > 0)\n ) {\n return;\n }\n\n const newIndex = oldIndex + direction;\n const oldItem = Array.from(this.order.values()).findIndex(\n (item) => item === newIndex,\n );\n\n this.order.set(index, newIndex);\n this.order.set(oldItem, oldIndex);\n this.order = new Map(this.order);\n\n this.updateItems();\n }\n\n private getSortedItems(): T[] {\n const items = new Array(this.unsortedItems.length);\n\n this.unsortedItems.forEach((item, index) => {\n items[this.order.get(index) ?? index] = item;\n });\n\n return items;\n }\n\n private updateItems(): void {\n this.itemsChange.emit(this.getSortedItems());\n this.updateEnabled();\n }\n\n private updateEnabled(): void {\n const enabled = this.getSortedItems().filter((item) => this.isEnabled(item));\n\n this.enabled = enabled;\n this.enabledChange.emit(enabled);\n }\n}\n","<tui-tiles\n class=\"t-wrapper\"\n [(order)]=\"order\"\n>\n @for (item of unsortedItems; track item; let index = $index) {\n <tui-tile [style.order]=\"order.get(index)\">\n <div\n class=\"t-item\"\n [class.t-item_disabled]=\"!isEnabled(item)\"\n >\n <div\n tuiTileHandle\n class=\"t-draggable\"\n >\n <tui-icon\n class=\"t-icon\"\n [icon]=\"options.icons.drag\"\n />\n <ng-container *polymorpheusOutlet=\"content as template; context: {$implicit: item, index: index}\">\n {{ template }}\n </ng-container>\n </div>\n <button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [iconStart]=\"getIcon(item)\"\n (click)=\"toggle(item)\"\n (keydown.arrowDown.prevent)=\"move(index, 1)\"\n (keydown.arrowUp.prevent)=\"move(index, -1)\"\n >\n {{ showHideText$ | async }}\n </button>\n </div>\n </tui-tile>\n }\n</tui-tiles>\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-components-reorder.mjs","sources":["../../../projects/addon-table/components/reorder/reorder.options.ts","../../../projects/addon-table/components/reorder/reorder.component.ts","../../../projects/addon-table/components/reorder/reorder.template.html","../../../projects/addon-table/components/reorder/taiga-ui-addon-table-components-reorder.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiReorderOptions {\n readonly icons: {\n readonly drag: string;\n readonly hide: string;\n readonly show: string;\n };\n}\n\nexport const TUI_REORDER_DEFAULT_OPTIONS: TuiReorderOptions = {\n icons: {\n hide: '@tui.eye-off',\n show: '@tui.eye',\n drag: '@tui.grip-vertical',\n },\n};\n\nexport const [TUI_REORDER_OPTIONS, tuiReorderOptionsProvider] = tuiCreateOptions(\n TUI_REORDER_DEFAULT_OPTIONS,\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {TUI_TABLE_SHOW_HIDE_MESSAGE} from '@taiga-ui/addon-table/tokens';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TUI_TILES_REORDER, TuiTiles, tuiTilesShift} from '@taiga-ui/kit/components/tiles';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TUI_REORDER_OPTIONS} from './reorder.options';\n\n@Component({\n selector: 'tui-reorder',\n imports: [PolymorpheusOutlet, TuiButton, TuiIcon, TuiTiles],\n templateUrl: './reorder.template.html',\n styleUrl: './reorder.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_TILES_REORDER,\n useValue: tuiTilesShift,\n },\n ],\n host: {\n '(focusout.stop)': '(0)',\n '(pointerdown.zoneless)': 'onDrag()',\n '(document:pointerup.zoneless)': 'onDrop()',\n },\n})\nexport class TuiReorder<T> {\n private dragging = false;\n\n protected order = new Map<number, number>();\n protected unsortedItems: readonly T[] = [];\n protected readonly options = inject(TUI_REORDER_OPTIONS);\n protected readonly showHideText = inject(TUI_TABLE_SHOW_HIDE_MESSAGE);\n\n @Input()\n public enabled: readonly T[] = [];\n\n @Output()\n public readonly itemsChange = new EventEmitter<T[]>();\n\n @Output()\n public readonly enabledChange = new EventEmitter<T[]>();\n\n @Input()\n public set items(items: readonly T[]) {\n if (\n items.length !== this.unsortedItems.length ||\n !items.every((item) => this.unsortedItems.includes(item))\n ) {\n this.unsortedItems = items;\n }\n }\n\n @Input()\n public content: PolymorpheusContent<TuiContext<T> & {index: number}> = ({\n $implicit,\n }) => String($implicit);\n\n protected onDrag(): void {\n this.dragging = true;\n }\n\n protected onDrop(): void {\n if (!this.dragging) {\n return;\n }\n\n this.dragging = false;\n this.updateItems();\n }\n\n protected isEnabled(item: T): boolean {\n return this.enabled.includes(item);\n }\n\n protected getIcon(item: T): string {\n return this.isEnabled(item) ? this.options.icons.hide : this.options.icons.show;\n }\n\n protected toggle(toggled: T): void {\n this.enabled = this.isEnabled(toggled)\n ? this.enabled.filter((item) => item !== toggled)\n : this.enabled.concat(toggled);\n\n this.updateEnabled();\n }\n\n protected move(index: number, direction: number): void {\n const oldIndex = this.order.get(index) ?? index;\n\n if (\n (!oldIndex && direction < 0) ||\n (oldIndex === this.unsortedItems.length - 1 && direction > 0)\n ) {\n return;\n }\n\n const newIndex = oldIndex + direction;\n const oldItem = Array.from(this.order.values()).findIndex(\n (item) => item === newIndex,\n );\n\n this.order.set(index, newIndex);\n this.order.set(oldItem, oldIndex);\n this.order = new Map(this.order);\n\n this.updateItems();\n }\n\n private getSortedItems(): T[] {\n const items = new Array(this.unsortedItems.length);\n\n this.unsortedItems.forEach((item, index) => {\n items[this.order.get(index) ?? index] = item;\n });\n\n return items;\n }\n\n private updateItems(): void {\n this.itemsChange.emit(this.getSortedItems());\n this.updateEnabled();\n }\n\n private updateEnabled(): void {\n const enabled = this.getSortedItems().filter((item) => this.isEnabled(item));\n\n this.enabled = enabled;\n this.enabledChange.emit(enabled);\n }\n}\n","<tui-tiles\n class=\"t-wrapper\"\n [(order)]=\"order\"\n>\n @for (item of unsortedItems; track item) {\n <tui-tile [style.order]=\"order.get($index)\">\n <div\n class=\"t-item\"\n [class.t-item_disabled]=\"!isEnabled(item)\"\n >\n <div\n tuiTileHandle\n class=\"t-draggable\"\n >\n <tui-icon\n class=\"t-icon\"\n [icon]=\"options.icons.drag\"\n />\n <ng-container *polymorpheusOutlet=\"content as template; context: {$implicit: item, index: $index}\">\n {{ template }}\n </ng-container>\n </div>\n <button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [iconStart]=\"getIcon(item)\"\n (click)=\"toggle(item)\"\n (keydown.arrowDown.prevent)=\"move($index, 1)\"\n (keydown.arrowUp.prevent)=\"move($index, -1)\"\n >\n {{ showHideText() }}\n </button>\n </div>\n </tui-tile>\n }\n</tui-tiles>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { AsyncPipe } from '@angular/common';
|
|
2
1
|
import * as i0 from '@angular/core';
|
|
3
|
-
import {
|
|
2
|
+
import { inject, EventEmitter, Output, Input, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
4
3
|
import { TUI_TABLE_PAGINATION_TEXTS } from '@taiga-ui/addon-table/tokens';
|
|
5
4
|
import { TuiButton } from '@taiga-ui/core/components/button';
|
|
6
5
|
import * as i1 from '@taiga-ui/core/components/data-list';
|
|
7
6
|
import { TuiDataList } from '@taiga-ui/core/components/data-list';
|
|
8
7
|
import { TuiIcon } from '@taiga-ui/core/components/icon';
|
|
9
8
|
import { TuiLink } from '@taiga-ui/core/components/link';
|
|
10
|
-
import
|
|
9
|
+
import * as i2 from '@taiga-ui/core/directives/dropdown';
|
|
10
|
+
import { TuiDropdown } from '@taiga-ui/core/directives/dropdown';
|
|
11
11
|
import { TUI_SPIN_ICONS, TUI_SPIN_TEXTS, TUI_COMMON_ICONS } from '@taiga-ui/core/tokens';
|
|
12
12
|
import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
|
|
13
|
-
import {
|
|
13
|
+
import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
|
|
14
14
|
|
|
15
15
|
function defaultSizeOptionContent({ $implicit }) {
|
|
16
16
|
return `${$implicit}`;
|
|
@@ -24,20 +24,14 @@ const TUI_TABLE_PAGINATION_DEFAULT_OPTIONS = {
|
|
|
24
24
|
/**
|
|
25
25
|
* Default parameters for TablePagination component
|
|
26
26
|
*/
|
|
27
|
-
const TUI_TABLE_PAGINATION_OPTIONS =
|
|
28
|
-
factory: () => TUI_TABLE_PAGINATION_DEFAULT_OPTIONS,
|
|
29
|
-
});
|
|
30
|
-
function tuiTablePaginationOptionsProvider(options) {
|
|
31
|
-
return tuiProvideOptions(TUI_TABLE_PAGINATION_OPTIONS, options, TUI_TABLE_PAGINATION_DEFAULT_OPTIONS);
|
|
32
|
-
}
|
|
27
|
+
const [TUI_TABLE_PAGINATION_OPTIONS, tuiTablePaginationOptionsProvider] = tuiCreateOptions(TUI_TABLE_PAGINATION_DEFAULT_OPTIONS);
|
|
33
28
|
|
|
34
29
|
class TuiTablePagination {
|
|
35
30
|
constructor() {
|
|
36
31
|
this.options = inject(TUI_TABLE_PAGINATION_OPTIONS);
|
|
37
|
-
this.open = false;
|
|
38
32
|
this.icons = inject(TUI_SPIN_ICONS);
|
|
39
|
-
this.spinTexts
|
|
40
|
-
this.texts
|
|
33
|
+
this.spinTexts = inject(TUI_SPIN_TEXTS);
|
|
34
|
+
this.texts = inject(TUI_TABLE_PAGINATION_TEXTS);
|
|
41
35
|
this.commonIcons = inject(TUI_COMMON_ICONS);
|
|
42
36
|
this.items = this.options.items;
|
|
43
37
|
this.total = 0;
|
|
@@ -48,7 +42,6 @@ class TuiTablePagination {
|
|
|
48
42
|
onItem(size) {
|
|
49
43
|
const { start } = this;
|
|
50
44
|
this.size = size;
|
|
51
|
-
this.open = false;
|
|
52
45
|
this.page = Math.floor(start / this.size);
|
|
53
46
|
this.paginationChange.emit(this.pagination);
|
|
54
47
|
}
|
|
@@ -88,20 +81,11 @@ class TuiTablePagination {
|
|
|
88
81
|
this.paginationChange.emit(this.pagination);
|
|
89
82
|
}
|
|
90
83
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiTablePagination, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
91
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiTablePagination, isStandalone: true, selector: "tui-table-pagination", inputs: { items: "items", total: "total", page: "page", size: "size" }, outputs: { paginationChange: "paginationChange" }, ngImport: i0, template: "@if (texts
|
|
84
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiTablePagination, isStandalone: true, selector: "tui-table-pagination", inputs: { items: "items", total: "total", page: "page", size: "size" }, outputs: { paginationChange: "paginationChange" }, ngImport: i0, template: "@if (texts(); as texts) {\n <span class=\"t-pages\">\n @if (showPages) {\n {{ texts.pages }}\n <strong class=\"t-strong\">{{ pages }}</strong>\n }\n </span>\n <span automation-id=\"tui-table-pagination__lines-per-page-wrapper\">\n {{ texts.linesPerPage }}\n @if (total !== 0) {\n <button\n tuiDropdown\n tuiDropdownOpen\n tuiLink\n type=\"button\"\n >\n <strong>{{ start + 1 }}\u2013{{ end }}</strong>\n <tui-data-list\n *tuiDropdown=\"let close\"\n size=\"s\"\n >\n @for (item of items; track item) {\n <button\n tuiOption\n type=\"button\"\n class=\"t-item\"\n (click)=\"close(); onItem(item)\"\n >\n <ng-container\n *polymorpheusOutlet=\"\n sizeOptionContent as text;\n context: {$implicit: item, total: total}\n \"\n >\n {{ text }}\n </ng-container>\n @if (item === size) {\n <tui-icon\n class=\"t-checkmark\"\n [icon]=\"commonIcons.check\"\n />\n } @else {\n <span class=\"t-checkmark\"></span>\n }\n </button>\n }\n </tui-data-list>\n </button>\n } @else {\n <strong>0 - 0</strong>\n }\n {{ texts.of }}\n <strong class=\"t-strong\">{{ total }}</strong>\n </span>\n @if (spinTexts(); as spinTexts) {\n <button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button t-button_back\"\n [disabled]=\"leftDisabled\"\n [iconStart]=\"icons.decrement\"\n (click)=\"back()\"\n >\n {{ spinTexts[0] }}\n </button>\n <button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"rightDisabled\"\n [iconStart]=\"icons.increment\"\n (click)=\"forth()\"\n >\n {{ spinTexts[1] }}\n </button>\n }\n}\n", styles: [":host{display:flex;font:var(--tui-font-text-s);align-items:center;color:var(--tui-text-tertiary)}.t-strong{color:var(--tui-text-primary)}.t-pages{margin-inline-end:auto}.t-item{min-inline-size:5.5rem;box-sizing:border-box}.t-checkmark{min-inline-size:1rem;font-size:1rem;margin-inline-start:.25rem}.t-button{transform:scaleX(var(--tui-inline))}.t-button_back{margin-inline-end:.25rem;margin-inline-start:1.5rem}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i1.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "component", type: i1.TuiOption, selector: "button[tuiOption]:not([new]), a[tuiOption]:not([new]), label[tuiOption]:not([new])", inputs: ["disabled", "value"] }, { kind: "directive", type: i2.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i2.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "directive", type: i2.TuiDropdownContent, selector: "ng-template[tuiDropdown]" }, { kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
92
85
|
}
|
|
93
86
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiTablePagination, decorators: [{
|
|
94
87
|
type: Component,
|
|
95
|
-
args: [{ selector: 'tui-table-pagination', imports: [
|
|
96
|
-
AsyncPipe,
|
|
97
|
-
PolymorpheusOutlet,
|
|
98
|
-
TuiButton,
|
|
99
|
-
TuiDataList,
|
|
100
|
-
TuiDropdownDirective,
|
|
101
|
-
TuiDropdownOpen,
|
|
102
|
-
TuiIcon,
|
|
103
|
-
TuiLink,
|
|
104
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (texts$ | async; as texts) {\n <span class=\"t-pages\">\n @if (showPages) {\n {{ texts.pages }}\n <strong class=\"t-strong\">{{ pages }}</strong>\n }\n </span>\n <span automation-id=\"tui-table-pagination__lines-per-page-wrapper\">\n {{ texts.linesPerPage }}\n @if (total !== 0) {\n <button\n tuiLink\n type=\"button\"\n [tuiDropdown]=\"content\"\n [(tuiDropdownOpen)]=\"open\"\n >\n <strong>{{ start + 1 }}\u2013{{ end }}</strong>\n </button>\n } @else {\n <strong>0 - 0</strong>\n }\n <ng-template #content>\n <tui-data-list size=\"s\">\n @for (item of items; track item) {\n <button\n tuiOption\n type=\"button\"\n class=\"t-item\"\n (click)=\"onItem(item)\"\n >\n <ng-container\n *polymorpheusOutlet=\"sizeOptionContent as text; context: {$implicit: item, total: total}\"\n >\n {{ text }}\n </ng-container>\n @if (item === size) {\n <tui-icon\n class=\"t-checkmark\"\n [icon]=\"commonIcons.check\"\n />\n } @else {\n <span class=\"t-checkmark\"></span>\n }\n </button>\n }\n </tui-data-list>\n </ng-template>\n {{ texts.of }}\n <strong class=\"t-strong\">{{ total }}</strong>\n </span>\n @if (spinTexts$ | async; as spinTexts) {\n <button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button t-button_back\"\n [disabled]=\"leftDisabled\"\n [iconStart]=\"icons.decrement\"\n (click)=\"back()\"\n >\n {{ spinTexts[0] }}\n </button>\n <button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"rightDisabled\"\n [iconStart]=\"icons.increment\"\n (click)=\"forth()\"\n >\n {{ spinTexts[1] }}\n </button>\n }\n}\n", styles: [":host{display:flex;font:var(--tui-font-text-s);align-items:center;color:var(--tui-text-tertiary)}.t-strong{color:var(--tui-text-primary)}.t-pages{margin-inline-end:auto}.t-item{min-inline-size:5.5rem;box-sizing:border-box}.t-checkmark{min-inline-size:1rem;font-size:1rem;margin-inline-start:.25rem}.t-button{transform:scaleX(var(--tui-inline))}.t-button_back{margin-inline-end:.25rem;margin-inline-start:1.5rem}\n"] }]
|
|
88
|
+
args: [{ selector: 'tui-table-pagination', imports: [PolymorpheusOutlet, TuiButton, TuiDataList, TuiDropdown, TuiIcon, TuiLink], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (texts(); as texts) {\n <span class=\"t-pages\">\n @if (showPages) {\n {{ texts.pages }}\n <strong class=\"t-strong\">{{ pages }}</strong>\n }\n </span>\n <span automation-id=\"tui-table-pagination__lines-per-page-wrapper\">\n {{ texts.linesPerPage }}\n @if (total !== 0) {\n <button\n tuiDropdown\n tuiDropdownOpen\n tuiLink\n type=\"button\"\n >\n <strong>{{ start + 1 }}\u2013{{ end }}</strong>\n <tui-data-list\n *tuiDropdown=\"let close\"\n size=\"s\"\n >\n @for (item of items; track item) {\n <button\n tuiOption\n type=\"button\"\n class=\"t-item\"\n (click)=\"close(); onItem(item)\"\n >\n <ng-container\n *polymorpheusOutlet=\"\n sizeOptionContent as text;\n context: {$implicit: item, total: total}\n \"\n >\n {{ text }}\n </ng-container>\n @if (item === size) {\n <tui-icon\n class=\"t-checkmark\"\n [icon]=\"commonIcons.check\"\n />\n } @else {\n <span class=\"t-checkmark\"></span>\n }\n </button>\n }\n </tui-data-list>\n </button>\n } @else {\n <strong>0 - 0</strong>\n }\n {{ texts.of }}\n <strong class=\"t-strong\">{{ total }}</strong>\n </span>\n @if (spinTexts(); as spinTexts) {\n <button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button t-button_back\"\n [disabled]=\"leftDisabled\"\n [iconStart]=\"icons.decrement\"\n (click)=\"back()\"\n >\n {{ spinTexts[0] }}\n </button>\n <button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"rightDisabled\"\n [iconStart]=\"icons.increment\"\n (click)=\"forth()\"\n >\n {{ spinTexts[1] }}\n </button>\n }\n}\n", styles: [":host{display:flex;font:var(--tui-font-text-s);align-items:center;color:var(--tui-text-tertiary)}.t-strong{color:var(--tui-text-primary)}.t-pages{margin-inline-end:auto}.t-item{min-inline-size:5.5rem;box-sizing:border-box}.t-checkmark{min-inline-size:1rem;font-size:1rem;margin-inline-start:.25rem}.t-button{transform:scaleX(var(--tui-inline))}.t-button_back{margin-inline-end:.25rem;margin-inline-start:1.5rem}\n"] }]
|
|
105
89
|
}], propDecorators: { items: [{
|
|
106
90
|
type: Input
|
|
107
91
|
}], total: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-table-components-table-pagination.mjs","sources":["../../../projects/addon-table/components/table-pagination/table-pagination.options.ts","../../../projects/addon-table/components/table-pagination/table-pagination.component.ts","../../../projects/addon-table/components/table-pagination/table-pagination.template.html","../../../projects/addon-table/components/table-pagination/taiga-ui-addon-table-components-table-pagination.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nfunction defaultSizeOptionContent({$implicit}: TuiContext<number>): string {\n return `${$implicit}`;\n}\n\nexport interface TuiTablePaginationOptions {\n readonly items: readonly number[];\n readonly showPages: boolean;\n readonly size: number;\n readonly sizeOptionContent: PolymorpheusContent<TuiContext<number> & {total: number}>;\n}\n\nexport const TUI_TABLE_PAGINATION_DEFAULT_OPTIONS: TuiTablePaginationOptions = {\n sizeOptionContent: defaultSizeOptionContent,\n showPages: true,\n items: [10, 20, 50, 100],\n size: 10,\n};\n\n/**\n * Default parameters for TablePagination component\n */\nexport const TUI_TABLE_PAGINATION_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_TABLE_PAGINATION_OPTIONS' : '',\n {\n factory: () => TUI_TABLE_PAGINATION_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiTablePaginationOptionsProvider(\n options: Partial<TuiTablePaginationOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_TABLE_PAGINATION_OPTIONS,\n options,\n TUI_TABLE_PAGINATION_DEFAULT_OPTIONS,\n );\n}\n","import {AsyncPipe} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {TUI_TABLE_PAGINATION_TEXTS} from '@taiga-ui/addon-table/tokens';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiLink} from '@taiga-ui/core/components/link';\nimport {TuiDropdownDirective, TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {TUI_COMMON_ICONS, TUI_SPIN_ICONS, TUI_SPIN_TEXTS} from '@taiga-ui/core/tokens';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {\n TUI_TABLE_PAGINATION_OPTIONS,\n type TuiTablePaginationOptions,\n} from './table-pagination.options';\n\nexport interface TuiTablePaginationEvent {\n readonly page: number;\n readonly size: number;\n}\n\n@Component({\n selector: 'tui-table-pagination',\n imports: [\n AsyncPipe,\n PolymorpheusOutlet,\n TuiButton,\n TuiDataList,\n TuiDropdownDirective,\n TuiDropdownOpen,\n TuiIcon,\n TuiLink,\n ],\n templateUrl: './table-pagination.template.html',\n styleUrls: ['./table-pagination.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTablePagination {\n private readonly options = inject(TUI_TABLE_PAGINATION_OPTIONS);\n\n protected open = false;\n protected readonly icons = inject(TUI_SPIN_ICONS);\n protected readonly spinTexts$ = inject(TUI_SPIN_TEXTS);\n protected readonly texts$ = inject(TUI_TABLE_PAGINATION_TEXTS);\n protected readonly commonIcons = inject(TUI_COMMON_ICONS);\n\n @Input()\n public items: readonly number[] = this.options.items;\n\n @Input()\n public total = 0;\n\n @Input()\n public page = 0;\n\n @Input()\n public size = this.options.size;\n\n @Output()\n public readonly paginationChange = new EventEmitter<TuiTablePaginationEvent>();\n\n public onItem(size: number): void {\n const {start} = this;\n\n this.size = size;\n this.open = false;\n this.page = Math.floor(start / this.size);\n this.paginationChange.emit(this.pagination);\n }\n\n protected get pages(): number {\n return Math.ceil(this.total / this.size);\n }\n\n protected get showPages(): boolean {\n return this.options.showPages;\n }\n\n protected get sizeOptionContent(): TuiTablePaginationOptions['sizeOptionContent'] {\n return this.options.sizeOptionContent;\n }\n\n protected get start(): number {\n return Math.min(this.page, Math.floor(this.total / this.size)) * this.size;\n }\n\n protected get end(): number {\n return Math.min(this.start + this.size, this.total);\n }\n\n protected get leftDisabled(): boolean {\n return !this.start;\n }\n\n protected get rightDisabled(): boolean {\n return this.end === this.total;\n }\n\n protected get pagination(): TuiTablePaginationEvent {\n return {\n page: this.page,\n size: this.size,\n };\n }\n\n protected back(): void {\n this.page--;\n this.paginationChange.emit(this.pagination);\n }\n\n protected forth(): void {\n this.page++;\n this.paginationChange.emit(this.pagination);\n }\n}\n","@if (texts$ | async; as texts) {\n <span class=\"t-pages\">\n @if (showPages) {\n {{ texts.pages }}\n <strong class=\"t-strong\">{{ pages }}</strong>\n }\n </span>\n <span automation-id=\"tui-table-pagination__lines-per-page-wrapper\">\n {{ texts.linesPerPage }}\n @if (total !== 0) {\n <button\n tuiLink\n type=\"button\"\n [tuiDropdown]=\"content\"\n [(tuiDropdownOpen)]=\"open\"\n >\n <strong>{{ start + 1 }}–{{ end }}</strong>\n </button>\n } @else {\n <strong>0 - 0</strong>\n }\n <ng-template #content>\n <tui-data-list size=\"s\">\n @for (item of items; track item) {\n <button\n tuiOption\n type=\"button\"\n class=\"t-item\"\n (click)=\"onItem(item)\"\n >\n <ng-container\n *polymorpheusOutlet=\"sizeOptionContent as text; context: {$implicit: item, total: total}\"\n >\n {{ text }}\n </ng-container>\n @if (item === size) {\n <tui-icon\n class=\"t-checkmark\"\n [icon]=\"commonIcons.check\"\n />\n } @else {\n <span class=\"t-checkmark\"></span>\n }\n </button>\n }\n </tui-data-list>\n </ng-template>\n {{ texts.of }}\n <strong class=\"t-strong\">{{ total }}</strong>\n </span>\n @if (spinTexts$ | async; as spinTexts) {\n <button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button t-button_back\"\n [disabled]=\"leftDisabled\"\n [iconStart]=\"icons.decrement\"\n (click)=\"back()\"\n >\n {{ spinTexts[0] }}\n </button>\n <button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"rightDisabled\"\n [iconStart]=\"icons.increment\"\n (click)=\"forth()\"\n >\n {{ spinTexts[1] }}\n </button>\n }\n}\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-components-table-pagination.mjs","sources":["../../../projects/addon-table/components/table-pagination/table-pagination.options.ts","../../../projects/addon-table/components/table-pagination/table-pagination.component.ts","../../../projects/addon-table/components/table-pagination/table-pagination.template.html","../../../projects/addon-table/components/table-pagination/taiga-ui-addon-table-components-table-pagination.ts"],"sourcesContent":["import {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nfunction defaultSizeOptionContent({$implicit}: TuiContext<number>): string {\n return `${$implicit}`;\n}\n\nexport interface TuiTablePaginationOptions {\n readonly items: readonly number[];\n readonly showPages: boolean;\n readonly size: number;\n readonly sizeOptionContent: PolymorpheusContent<TuiContext<number> & {total: number}>;\n}\n\nexport const TUI_TABLE_PAGINATION_DEFAULT_OPTIONS: TuiTablePaginationOptions = {\n sizeOptionContent: defaultSizeOptionContent,\n showPages: true,\n items: [10, 20, 50, 100],\n size: 10,\n};\n\n/**\n * Default parameters for TablePagination component\n */\nexport const [TUI_TABLE_PAGINATION_OPTIONS, tuiTablePaginationOptionsProvider] =\n tuiCreateOptions(TUI_TABLE_PAGINATION_DEFAULT_OPTIONS);\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {TUI_TABLE_PAGINATION_TEXTS} from '@taiga-ui/addon-table/tokens';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiLink} from '@taiga-ui/core/components/link';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TUI_COMMON_ICONS, TUI_SPIN_ICONS, TUI_SPIN_TEXTS} from '@taiga-ui/core/tokens';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {\n TUI_TABLE_PAGINATION_OPTIONS,\n type TuiTablePaginationOptions,\n} from './table-pagination.options';\n\nexport interface TuiTablePaginationEvent {\n readonly page: number;\n readonly size: number;\n}\n\n@Component({\n selector: 'tui-table-pagination',\n imports: [PolymorpheusOutlet, TuiButton, TuiDataList, TuiDropdown, TuiIcon, TuiLink],\n templateUrl: './table-pagination.template.html',\n styleUrl: './table-pagination.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTablePagination {\n private readonly options = inject(TUI_TABLE_PAGINATION_OPTIONS);\n\n protected readonly icons = inject(TUI_SPIN_ICONS);\n protected readonly spinTexts = inject(TUI_SPIN_TEXTS);\n protected readonly texts = inject(TUI_TABLE_PAGINATION_TEXTS);\n protected readonly commonIcons = inject(TUI_COMMON_ICONS);\n\n @Input()\n public items: readonly number[] = this.options.items;\n\n @Input()\n public total = 0;\n\n @Input()\n public page = 0;\n\n @Input()\n public size = this.options.size;\n\n @Output()\n public readonly paginationChange = new EventEmitter<TuiTablePaginationEvent>();\n\n public onItem(size: number): void {\n const {start} = this;\n\n this.size = size;\n this.page = Math.floor(start / this.size);\n this.paginationChange.emit(this.pagination);\n }\n\n protected get pages(): number {\n return Math.ceil(this.total / this.size);\n }\n\n protected get showPages(): boolean {\n return this.options.showPages;\n }\n\n protected get sizeOptionContent(): TuiTablePaginationOptions['sizeOptionContent'] {\n return this.options.sizeOptionContent;\n }\n\n protected get start(): number {\n return Math.min(this.page, Math.floor(this.total / this.size)) * this.size;\n }\n\n protected get end(): number {\n return Math.min(this.start + this.size, this.total);\n }\n\n protected get leftDisabled(): boolean {\n return !this.start;\n }\n\n protected get rightDisabled(): boolean {\n return this.end === this.total;\n }\n\n protected get pagination(): TuiTablePaginationEvent {\n return {\n page: this.page,\n size: this.size,\n };\n }\n\n protected back(): void {\n this.page--;\n this.paginationChange.emit(this.pagination);\n }\n\n protected forth(): void {\n this.page++;\n this.paginationChange.emit(this.pagination);\n }\n}\n","@if (texts(); as texts) {\n <span class=\"t-pages\">\n @if (showPages) {\n {{ texts.pages }}\n <strong class=\"t-strong\">{{ pages }}</strong>\n }\n </span>\n <span automation-id=\"tui-table-pagination__lines-per-page-wrapper\">\n {{ texts.linesPerPage }}\n @if (total !== 0) {\n <button\n tuiDropdown\n tuiDropdownOpen\n tuiLink\n type=\"button\"\n >\n <strong>{{ start + 1 }}–{{ end }}</strong>\n <tui-data-list\n *tuiDropdown=\"let close\"\n size=\"s\"\n >\n @for (item of items; track item) {\n <button\n tuiOption\n type=\"button\"\n class=\"t-item\"\n (click)=\"close(); onItem(item)\"\n >\n <ng-container\n *polymorpheusOutlet=\"\n sizeOptionContent as text;\n context: {$implicit: item, total: total}\n \"\n >\n {{ text }}\n </ng-container>\n @if (item === size) {\n <tui-icon\n class=\"t-checkmark\"\n [icon]=\"commonIcons.check\"\n />\n } @else {\n <span class=\"t-checkmark\"></span>\n }\n </button>\n }\n </tui-data-list>\n </button>\n } @else {\n <strong>0 - 0</strong>\n }\n {{ texts.of }}\n <strong class=\"t-strong\">{{ total }}</strong>\n </span>\n @if (spinTexts(); as spinTexts) {\n <button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button t-button_back\"\n [disabled]=\"leftDisabled\"\n [iconStart]=\"icons.decrement\"\n (click)=\"back()\"\n >\n {{ spinTexts[0] }}\n </button>\n <button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"rightDisabled\"\n [iconStart]=\"icons.increment\"\n (click)=\"forth()\"\n >\n {{ spinTexts[1] }}\n </button>\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|