@reforgium/data-grid 3.1.0 → 3.1.2
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/CHANGELOG.md +19 -0
- package/fesm2022/reforgium-data-grid-column-manager.mjs +25 -25
- package/fesm2022/{reforgium-data-grid-grid-overlay-scroll.feature-BQFxyNCT.mjs → reforgium-data-grid-grid-overlay-scroll.feature-BmB4qWr3.mjs} +2 -2
- package/fesm2022/reforgium-data-grid-paginator.mjs +19 -19
- package/fesm2022/{reforgium-data-grid-reforgium-data-grid-d5V0EST_.mjs → reforgium-data-grid-reforgium-data-grid-3n5k89Qx.mjs} +162 -150
- package/fesm2022/reforgium-data-grid-ui.mjs +7 -7
- package/fesm2022/reforgium-data-grid.mjs +1 -1
- package/package.json +1 -1
- package/types/reforgium-data-grid.d.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
## [3.1.2]: 14.04.2026
|
|
2
|
+
|
|
3
|
+
### Fix:
|
|
4
|
+
- `DataGrid`: source/infinity lifecycle for long-lived sources was stabilized; remounting a grid against the same `GridPagedDataSource` / `PagedQueryStore` instance now resets component-local source session state instead of reusing stale buffered pages, queued requests, or pending flags from the previous screen lifecycle
|
|
5
|
+
- `DataGrid`: source/infinity now rebases correctly when a reused source reattaches on a non-zero page without `totalElements`; the current source page becomes the local starting point instead of rendering an empty grid
|
|
6
|
+
- `DataGrid`: singleton-like source reuse now settles correctly after empty successful replacements and remounts, so stale rows are cleared and `loading` no longer depends on previous component-local source state
|
|
7
|
+
|
|
8
|
+
### Test:
|
|
9
|
+
- added regression coverage for same-source remount, empty replacement after remount, non-zero-page reattach without `totalElements`, and source-session reset on version change
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## [3.1.1]: 06.04.2026
|
|
14
|
+
|
|
15
|
+
### Fix:
|
|
16
|
+
- `DataGrid`: source/infinity — grid no longer auto-requests pages before the first external fetch; `ensureBufferedRange` and `drainQueuedPages` are now gated by a `hasReceivedData` flag that is only raised after at least one non-empty page arrives via `sync()` outside of a reset cycle; guards stale-store (singleton re-bind), stale queued pages surviving a `clearBuffer()`, and the `queueMicrotask` drain-loop that ran after a buffer reset
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
1
20
|
## [3.1.0]: 02.04.2026
|
|
2
21
|
|
|
3
22
|
### Feat:
|
|
@@ -107,7 +107,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
107
107
|
|
|
108
108
|
/* eslint-disable max-len */
|
|
109
109
|
class EyeIcon {
|
|
110
|
-
open = input(false, { ...(ngDevMode ? { debugName: "open" } : {}), transform: booleanAttribute });
|
|
110
|
+
open = input(false, { ...(ngDevMode ? { debugName: "open" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
111
111
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: EyeIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
112
112
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: EyeIcon, isStandalone: true, selector: "re-eye-ic", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
113
113
|
@if (open()) {
|
|
@@ -150,7 +150,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
150
150
|
|
|
151
151
|
/* eslint-disable max-len */
|
|
152
152
|
class PinIcon {
|
|
153
|
-
toRight = input(false, { ...(ngDevMode ? { debugName: "toRight" } : {}), transform: booleanAttribute });
|
|
153
|
+
toRight = input(false, { ...(ngDevMode ? { debugName: "toRight" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
154
154
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: PinIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
155
155
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.4", type: PinIcon, isStandalone: true, selector: "re-pin-ic", inputs: { toRight: { classPropertyName: "toRight", publicName: "toRight", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
156
156
|
<svg
|
|
@@ -189,28 +189,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
189
189
|
|
|
190
190
|
class DataGridColumnManager {
|
|
191
191
|
injector = inject(Injector);
|
|
192
|
-
columns = input([], ...(ngDevMode ? [{ debugName: "columns" }] : []));
|
|
193
|
-
triggerLabel = input('Columns', ...(ngDevMode ? [{ debugName: "triggerLabel" }] : []));
|
|
194
|
-
showAllLabel = input('Show all', ...(ngDevMode ? [{ debugName: "showAllLabel" }] : []));
|
|
195
|
-
hideAllLabel = input('Hide All', ...(ngDevMode ? [{ debugName: "hideAllLabel" }] : []));
|
|
196
|
-
controlsVisible = input(true, { ...(ngDevMode ? { debugName: "controlsVisible" } : {}), transform: booleanAttribute });
|
|
197
|
-
searchable = input(true, { ...(ngDevMode ? { debugName: "searchable" } : {}), transform: booleanAttribute });
|
|
198
|
-
searchPlaceholder = input('Search columns...', ...(ngDevMode ? [{ debugName: "searchPlaceholder" }] : []));
|
|
199
|
-
allowReorder = input(true, { ...(ngDevMode ? { debugName: "allowReorder" } : {}), transform: booleanAttribute });
|
|
200
|
-
allowPin = input(true, { ...(ngDevMode ? { debugName: "allowPin" } : {}), transform: booleanAttribute });
|
|
201
|
-
allowVisibility = input(true, { ...(ngDevMode ? { debugName: "allowVisibility" } : {}), transform: booleanAttribute });
|
|
192
|
+
columns = input([], ...(ngDevMode ? [{ debugName: "columns" }] : /* istanbul ignore next */ []));
|
|
193
|
+
triggerLabel = input('Columns', ...(ngDevMode ? [{ debugName: "triggerLabel" }] : /* istanbul ignore next */ []));
|
|
194
|
+
showAllLabel = input('Show all', ...(ngDevMode ? [{ debugName: "showAllLabel" }] : /* istanbul ignore next */ []));
|
|
195
|
+
hideAllLabel = input('Hide All', ...(ngDevMode ? [{ debugName: "hideAllLabel" }] : /* istanbul ignore next */ []));
|
|
196
|
+
controlsVisible = input(true, { ...(ngDevMode ? { debugName: "controlsVisible" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
197
|
+
searchable = input(true, { ...(ngDevMode ? { debugName: "searchable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
198
|
+
searchPlaceholder = input('Search columns...', ...(ngDevMode ? [{ debugName: "searchPlaceholder" }] : /* istanbul ignore next */ []));
|
|
199
|
+
allowReorder = input(true, { ...(ngDevMode ? { debugName: "allowReorder" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
200
|
+
allowPin = input(true, { ...(ngDevMode ? { debugName: "allowPin" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
201
|
+
allowVisibility = input(true, { ...(ngDevMode ? { debugName: "allowVisibility" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
202
202
|
columnsChange = output();
|
|
203
|
-
triggerDirective = contentChild(DataGridColumnManagerTriggerDirective, ...(ngDevMode ? [{ debugName: "triggerDirective" }] : []));
|
|
204
|
-
columnTitleTemplate = contentChild((DataGridColumnManagerColumnTitleDirective), ...(ngDevMode ? [{ debugName: "columnTitleTemplate" }] : []));
|
|
205
|
-
state = signal([], ...(ngDevMode ? [{ debugName: "state" }] : []));
|
|
206
|
-
searchQuery = signal('', ...(ngDevMode ? [{ debugName: "searchQuery" }] : []));
|
|
207
|
-
draggingKey = signal(null, ...(ngDevMode ? [{ debugName: "draggingKey" }] : []));
|
|
208
|
-
opened = signal(false, ...(ngDevMode ? [{ debugName: "opened" }] : []));
|
|
209
|
-
openedPinMenuKey = signal(null, ...(ngDevMode ? [{ debugName: "openedPinMenuKey" }] : []));
|
|
210
|
-
panelLeft = signal(0, ...(ngDevMode ? [{ debugName: "panelLeft" }] : []));
|
|
211
|
-
triggerTemplate = computed(() => this.triggerDirective()?.template, ...(ngDevMode ? [{ debugName: "triggerTemplate" }] : []));
|
|
212
|
-
root = viewChild('root', ...(ngDevMode ? [{ debugName: "root" }] : []));
|
|
213
|
-
panel = viewChild('panel', ...(ngDevMode ? [{ debugName: "panel" }] : []));
|
|
203
|
+
triggerDirective = contentChild(DataGridColumnManagerTriggerDirective, ...(ngDevMode ? [{ debugName: "triggerDirective" }] : /* istanbul ignore next */ []));
|
|
204
|
+
columnTitleTemplate = contentChild((DataGridColumnManagerColumnTitleDirective), ...(ngDevMode ? [{ debugName: "columnTitleTemplate" }] : /* istanbul ignore next */ []));
|
|
205
|
+
state = signal([], ...(ngDevMode ? [{ debugName: "state" }] : /* istanbul ignore next */ []));
|
|
206
|
+
searchQuery = signal('', ...(ngDevMode ? [{ debugName: "searchQuery" }] : /* istanbul ignore next */ []));
|
|
207
|
+
draggingKey = signal(null, ...(ngDevMode ? [{ debugName: "draggingKey" }] : /* istanbul ignore next */ []));
|
|
208
|
+
opened = signal(false, ...(ngDevMode ? [{ debugName: "opened" }] : /* istanbul ignore next */ []));
|
|
209
|
+
openedPinMenuKey = signal(null, ...(ngDevMode ? [{ debugName: "openedPinMenuKey" }] : /* istanbul ignore next */ []));
|
|
210
|
+
panelLeft = signal(0, ...(ngDevMode ? [{ debugName: "panelLeft" }] : /* istanbul ignore next */ []));
|
|
211
|
+
triggerTemplate = computed(() => this.triggerDirective()?.template, ...(ngDevMode ? [{ debugName: "triggerTemplate" }] : /* istanbul ignore next */ []));
|
|
212
|
+
root = viewChild('root', ...(ngDevMode ? [{ debugName: "root" }] : /* istanbul ignore next */ []));
|
|
213
|
+
panel = viewChild('panel', ...(ngDevMode ? [{ debugName: "panel" }] : /* istanbul ignore next */ []));
|
|
214
214
|
filteredColumns = computed(() => {
|
|
215
215
|
const query = this.searchQuery().trim().toLowerCase();
|
|
216
216
|
if (!query) {
|
|
@@ -221,8 +221,8 @@ class DataGridColumnManager {
|
|
|
221
221
|
const header = String(column.header || '').toLowerCase();
|
|
222
222
|
return key.includes(query) || header.includes(query);
|
|
223
223
|
});
|
|
224
|
-
}, ...(ngDevMode ? [{ debugName: "filteredColumns" }] : []));
|
|
225
|
-
visibleColumnsCount = computed(() => this.state().filter((column) => column.visible !== false).length, ...(ngDevMode ? [{ debugName: "visibleColumnsCount" }] : []));
|
|
224
|
+
}, ...(ngDevMode ? [{ debugName: "filteredColumns" }] : /* istanbul ignore next */ []));
|
|
225
|
+
visibleColumnsCount = computed(() => this.state().filter((column) => column.visible !== false).length, ...(ngDevMode ? [{ debugName: "visibleColumnsCount" }] : /* istanbul ignore next */ []));
|
|
226
226
|
constructor() {
|
|
227
227
|
effect(() => this.state.set(cloneColumns(this.columns())));
|
|
228
228
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as computeScrollbarState, a as clampThumbTop, m as mapThumbTopToScrollTop } from './reforgium-data-grid-reforgium-data-grid-
|
|
1
|
+
import { c as computeScrollbarState, a as clampThumbTop, m as mapThumbTopToScrollTop } from './reforgium-data-grid-reforgium-data-grid-3n5k89Qx.mjs';
|
|
2
2
|
|
|
3
3
|
function createGridOverlayScrollFeature(ctx) {
|
|
4
4
|
const showScrollbar = () => {
|
|
@@ -76,4 +76,4 @@ function createGridOverlayScrollFeature(ctx) {
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
export { createGridOverlayScrollFeature };
|
|
79
|
-
//# sourceMappingURL=reforgium-data-grid-grid-overlay-scroll.feature-
|
|
79
|
+
//# sourceMappingURL=reforgium-data-grid-grid-overlay-scroll.feature-BmB4qWr3.mjs.map
|
|
@@ -39,24 +39,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
39
39
|
|
|
40
40
|
// noinspection CssUnresolvedCustomProperty
|
|
41
41
|
class DataGridPaginator {
|
|
42
|
-
current = input(0, { ...(ngDevMode ? { debugName: "current" } : {}), transform: numberAttribute });
|
|
43
|
-
totalElements = input(0, { ...(ngDevMode ? { debugName: "totalElements" } : {}), transform: numberAttribute });
|
|
44
|
-
pageSize = input(0, { ...(ngDevMode ? { debugName: "pageSize" } : {}), transform: numberAttribute });
|
|
45
|
-
maxShowPages = input(7, { ...(ngDevMode ? { debugName: "maxShowPages" } : {}), transform: numberAttribute });
|
|
46
|
-
showFirstLast = input(false, { ...(ngDevMode ? { debugName: "showFirstLast" } : {}), transform: booleanAttribute });
|
|
47
|
-
firstLabel = input('First', ...(ngDevMode ? [{ debugName: "firstLabel" }] : []));
|
|
48
|
-
lastLabel = input('Last', ...(ngDevMode ? [{ debugName: "lastLabel" }] : []));
|
|
49
|
-
showPerPage = input(false, { ...(ngDevMode ? { debugName: "showPerPage" } : {}), transform: booleanAttribute });
|
|
50
|
-
perPageLabel = input('Items per page:', ...(ngDevMode ? [{ debugName: "perPageLabel" }] : []));
|
|
51
|
-
pageSizeOptions = input([10, 20, 50, 100], ...(ngDevMode ? [{ debugName: "pageSizeOptions" }] : []));
|
|
42
|
+
current = input(0, { ...(ngDevMode ? { debugName: "current" } : /* istanbul ignore next */ {}), transform: numberAttribute });
|
|
43
|
+
totalElements = input(0, { ...(ngDevMode ? { debugName: "totalElements" } : /* istanbul ignore next */ {}), transform: numberAttribute });
|
|
44
|
+
pageSize = input(0, { ...(ngDevMode ? { debugName: "pageSize" } : /* istanbul ignore next */ {}), transform: numberAttribute });
|
|
45
|
+
maxShowPages = input(7, { ...(ngDevMode ? { debugName: "maxShowPages" } : /* istanbul ignore next */ {}), transform: numberAttribute });
|
|
46
|
+
showFirstLast = input(false, { ...(ngDevMode ? { debugName: "showFirstLast" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
47
|
+
firstLabel = input('First', ...(ngDevMode ? [{ debugName: "firstLabel" }] : /* istanbul ignore next */ []));
|
|
48
|
+
lastLabel = input('Last', ...(ngDevMode ? [{ debugName: "lastLabel" }] : /* istanbul ignore next */ []));
|
|
49
|
+
showPerPage = input(false, { ...(ngDevMode ? { debugName: "showPerPage" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
50
|
+
perPageLabel = input('Items per page:', ...(ngDevMode ? [{ debugName: "perPageLabel" }] : /* istanbul ignore next */ []));
|
|
51
|
+
pageSizeOptions = input([10, 20, 50, 100], ...(ngDevMode ? [{ debugName: "pageSizeOptions" }] : /* istanbul ignore next */ []));
|
|
52
52
|
pageChange = output();
|
|
53
53
|
pageSizeChange = output();
|
|
54
|
-
firstSlotRefs = contentChildren(DataGridPaginatorFirstDirective, ...(ngDevMode ? [{ debugName: "firstSlotRefs" }] : []));
|
|
55
|
-
lastSlotRefs = contentChildren(DataGridPaginatorLastDirective, ...(ngDevMode ? [{ debugName: "lastSlotRefs" }] : []));
|
|
56
|
-
pageSlotRefs = contentChildren(DataGridPaginatorPageDirective, ...(ngDevMode ? [{ debugName: "pageSlotRefs" }] : []));
|
|
57
|
-
firstTpl = computed(() => this.firstSlotRefs()?.at(0), ...(ngDevMode ? [{ debugName: "firstTpl" }] : []));
|
|
58
|
-
lastTpl = computed(() => this.lastSlotRefs()?.at(0), ...(ngDevMode ? [{ debugName: "lastTpl" }] : []));
|
|
59
|
-
pageTpl = computed(() => this.pageSlotRefs()?.at(0), ...(ngDevMode ? [{ debugName: "pageTpl" }] : []));
|
|
54
|
+
firstSlotRefs = contentChildren(DataGridPaginatorFirstDirective, ...(ngDevMode ? [{ debugName: "firstSlotRefs" }] : /* istanbul ignore next */ []));
|
|
55
|
+
lastSlotRefs = contentChildren(DataGridPaginatorLastDirective, ...(ngDevMode ? [{ debugName: "lastSlotRefs" }] : /* istanbul ignore next */ []));
|
|
56
|
+
pageSlotRefs = contentChildren(DataGridPaginatorPageDirective, ...(ngDevMode ? [{ debugName: "pageSlotRefs" }] : /* istanbul ignore next */ []));
|
|
57
|
+
firstTpl = computed(() => this.firstSlotRefs()?.at(0), ...(ngDevMode ? [{ debugName: "firstTpl" }] : /* istanbul ignore next */ []));
|
|
58
|
+
lastTpl = computed(() => this.lastSlotRefs()?.at(0), ...(ngDevMode ? [{ debugName: "lastTpl" }] : /* istanbul ignore next */ []));
|
|
59
|
+
pageTpl = computed(() => this.pageSlotRefs()?.at(0), ...(ngDevMode ? [{ debugName: "pageTpl" }] : /* istanbul ignore next */ []));
|
|
60
60
|
normalizedPageSizeOptions = computed(() => {
|
|
61
61
|
const uniq = new Set(this.pageSizeOptions()
|
|
62
62
|
.map((value) => Number(value))
|
|
@@ -65,11 +65,11 @@ class DataGridPaginator {
|
|
|
65
65
|
uniq.add(this.pageSize());
|
|
66
66
|
}
|
|
67
67
|
return [...uniq].sort((a, b) => a - b).map((value) => ({ label: `${value}`, value }));
|
|
68
|
-
}, ...(ngDevMode ? [{ debugName: "normalizedPageSizeOptions" }] : []));
|
|
68
|
+
}, ...(ngDevMode ? [{ debugName: "normalizedPageSizeOptions" }] : /* istanbul ignore next */ []));
|
|
69
69
|
totalPages = computed(() => {
|
|
70
70
|
const size = this.pageSize();
|
|
71
71
|
return size > 0 ? Math.ceil(this.totalElements() / size) : 0;
|
|
72
|
-
}, ...(ngDevMode ? [{ debugName: "totalPages" }] : []));
|
|
72
|
+
}, ...(ngDevMode ? [{ debugName: "totalPages" }] : /* istanbul ignore next */ []));
|
|
73
73
|
pages = computed(() => {
|
|
74
74
|
const current = this.current();
|
|
75
75
|
const total = this.totalPages();
|
|
@@ -99,7 +99,7 @@ class DataGridPaginator {
|
|
|
99
99
|
}
|
|
100
100
|
pages.push(total - 1);
|
|
101
101
|
return pages;
|
|
102
|
-
}, ...(ngDevMode ? [{ debugName: "pages" }] : []));
|
|
102
|
+
}, ...(ngDevMode ? [{ debugName: "pages" }] : /* istanbul ignore next */ []));
|
|
103
103
|
goToPage(page) {
|
|
104
104
|
if (!Number.isInteger(page)) {
|
|
105
105
|
return;
|
|
@@ -29,7 +29,7 @@ class DataGridTypeCellTemplateDirective {
|
|
|
29
29
|
*
|
|
30
30
|
* @default ''
|
|
31
31
|
*/
|
|
32
|
-
type = input('', { ...(ngDevMode ? { debugName: "type" } : {}), alias: 'reDataGridTypeCell' });
|
|
32
|
+
type = input('', { ...(ngDevMode ? { debugName: "type" } : /* istanbul ignore next */ {}), alias: 'reDataGridTypeCell' });
|
|
33
33
|
/**
|
|
34
34
|
* Reference to the template defined in the directive.
|
|
35
35
|
*
|
|
@@ -46,7 +46,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
46
46
|
}], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "reDataGridTypeCell", required: false }] }] } });
|
|
47
47
|
|
|
48
48
|
class DataGridCellTemplateDirective {
|
|
49
|
-
key = input('', { ...(ngDevMode ? { debugName: "key" } : {}), alias: 'reDataGridCell' });
|
|
49
|
+
key = input('', { ...(ngDevMode ? { debugName: "key" } : /* istanbul ignore next */ {}), alias: 'reDataGridCell' });
|
|
50
50
|
/**
|
|
51
51
|
* The injected template reference containing the custom cell template.
|
|
52
52
|
* The template context is of the type `DataGridCellTemplateDirective`.
|
|
@@ -80,7 +80,7 @@ class DataGridHeaderTemplateDirective {
|
|
|
80
80
|
* Uses the `reDataGridHeader` directive attribute as an alias.
|
|
81
81
|
* Defaults to an empty string if not provided.
|
|
82
82
|
*/
|
|
83
|
-
key = input('', { ...(ngDevMode ? { debugName: "key" } : {}), alias: 'reDataGridHeader' });
|
|
83
|
+
key = input('', { ...(ngDevMode ? { debugName: "key" } : /* istanbul ignore next */ {}), alias: 'reDataGridHeader' });
|
|
84
84
|
/**
|
|
85
85
|
* The injected template reference containing the custom header template.
|
|
86
86
|
* The template context is of the type `HeaderTemplateData`.
|
|
@@ -144,28 +144,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
144
144
|
}] });
|
|
145
145
|
|
|
146
146
|
class DataGridDeclarativeColumn {
|
|
147
|
-
key = input.required(...(ngDevMode ? [{ debugName: "key" }] : []));
|
|
148
|
-
header = input(undefined, ...(ngDevMode ? [{ debugName: "header" }] : []));
|
|
149
|
-
align = input(undefined, ...(ngDevMode ? [{ debugName: "align" }] : []));
|
|
150
|
-
sortKey = input(undefined, ...(ngDevMode ? [{ debugName: "sortKey" }] : []));
|
|
151
|
-
sticky = input(...(ngDevMode ? [undefined, { debugName: "sticky" }] : []));
|
|
152
|
-
expandBy = input(undefined, ...(ngDevMode ? [{ debugName: "expandBy" }] : []));
|
|
153
|
-
disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
|
|
154
|
-
visible = input(true, { ...(ngDevMode ? { debugName: "visible" } : {}), transform: booleanAttribute });
|
|
155
|
-
width = input(undefined, { ...(ngDevMode ? { debugName: "width" } : {}), transform: toOptionalNumber });
|
|
156
|
-
minWidth = input(undefined, { ...(ngDevMode ? { debugName: "minWidth" } : {}), transform: toOptionalNumber });
|
|
157
|
-
maxWidth = input(undefined, { ...(ngDevMode ? { debugName: "maxWidth" } : {}), transform: toOptionalNumber });
|
|
158
|
-
flex = input(undefined, { ...(ngDevMode ? { debugName: "flex" } : {}), transform: toOptionalNumber });
|
|
159
|
-
resizable = input(undefined, { ...(ngDevMode ? { debugName: "resizable" } : {}), transform: toOptionalBoolean });
|
|
160
|
-
type = input(undefined, ...(ngDevMode ? [{ debugName: "type" }] : []));
|
|
161
|
-
typeParams = input(undefined, ...(ngDevMode ? [{ debugName: "typeParams" }] : []));
|
|
162
|
-
defaultValue = input(undefined, ...(ngDevMode ? [{ debugName: "defaultValue" }] : []));
|
|
163
|
-
value = input(undefined, ...(ngDevMode ? [{ debugName: "value" }] : []));
|
|
164
|
-
transformer = input(undefined, ...(ngDevMode ? [{ debugName: "transformer" }] : []));
|
|
165
|
-
track = input(undefined, ...(ngDevMode ? [{ debugName: "track" }] : []));
|
|
166
|
-
tooltip = input(undefined, ...(ngDevMode ? [{ debugName: "tooltip" }] : []));
|
|
167
|
-
headerTplRef = contentChild(DataGridDeclarativeHeaderDirective, ...(ngDevMode ? [{ debugName: "headerTplRef" }] : []));
|
|
168
|
-
cellTplRef = contentChild(DataGridDeclarativeCellDirective, ...(ngDevMode ? [{ debugName: "cellTplRef" }] : []));
|
|
147
|
+
key = input.required(...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
|
|
148
|
+
header = input(undefined, ...(ngDevMode ? [{ debugName: "header" }] : /* istanbul ignore next */ []));
|
|
149
|
+
align = input(undefined, ...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
|
|
150
|
+
sortKey = input(undefined, ...(ngDevMode ? [{ debugName: "sortKey" }] : /* istanbul ignore next */ []));
|
|
151
|
+
sticky = input(...(ngDevMode ? [undefined, { debugName: "sticky" }] : /* istanbul ignore next */ []));
|
|
152
|
+
expandBy = input(undefined, ...(ngDevMode ? [{ debugName: "expandBy" }] : /* istanbul ignore next */ []));
|
|
153
|
+
disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
154
|
+
visible = input(true, { ...(ngDevMode ? { debugName: "visible" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
155
|
+
width = input(undefined, { ...(ngDevMode ? { debugName: "width" } : /* istanbul ignore next */ {}), transform: toOptionalNumber });
|
|
156
|
+
minWidth = input(undefined, { ...(ngDevMode ? { debugName: "minWidth" } : /* istanbul ignore next */ {}), transform: toOptionalNumber });
|
|
157
|
+
maxWidth = input(undefined, { ...(ngDevMode ? { debugName: "maxWidth" } : /* istanbul ignore next */ {}), transform: toOptionalNumber });
|
|
158
|
+
flex = input(undefined, { ...(ngDevMode ? { debugName: "flex" } : /* istanbul ignore next */ {}), transform: toOptionalNumber });
|
|
159
|
+
resizable = input(undefined, { ...(ngDevMode ? { debugName: "resizable" } : /* istanbul ignore next */ {}), transform: toOptionalBoolean });
|
|
160
|
+
type = input(undefined, ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
|
|
161
|
+
typeParams = input(undefined, ...(ngDevMode ? [{ debugName: "typeParams" }] : /* istanbul ignore next */ []));
|
|
162
|
+
defaultValue = input(undefined, ...(ngDevMode ? [{ debugName: "defaultValue" }] : /* istanbul ignore next */ []));
|
|
163
|
+
value = input(undefined, ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
164
|
+
transformer = input(undefined, ...(ngDevMode ? [{ debugName: "transformer" }] : /* istanbul ignore next */ []));
|
|
165
|
+
track = input(undefined, ...(ngDevMode ? [{ debugName: "track" }] : /* istanbul ignore next */ []));
|
|
166
|
+
tooltip = input(undefined, ...(ngDevMode ? [{ debugName: "tooltip" }] : /* istanbul ignore next */ []));
|
|
167
|
+
headerTplRef = contentChild(DataGridDeclarativeHeaderDirective, ...(ngDevMode ? [{ debugName: "headerTplRef" }] : /* istanbul ignore next */ []));
|
|
168
|
+
cellTplRef = contentChild(DataGridDeclarativeCellDirective, ...(ngDevMode ? [{ debugName: "cellTplRef" }] : /* istanbul ignore next */ []));
|
|
169
169
|
toDeclarativeColumn() {
|
|
170
170
|
return {
|
|
171
171
|
key: this.key(),
|
|
@@ -1035,47 +1035,47 @@ class DataGridVm {
|
|
|
1035
1035
|
*
|
|
1036
1036
|
* Used for scrollbar calculations and scroll position management.
|
|
1037
1037
|
*/
|
|
1038
|
-
scrollEl = signal(undefined, ...(ngDevMode ? [{ debugName: "scrollEl" }] : []));
|
|
1038
|
+
scrollEl = signal(undefined, ...(ngDevMode ? [{ debugName: "scrollEl" }] : /* istanbul ignore next */ []));
|
|
1039
1039
|
/**
|
|
1040
1040
|
* Array of column configurations for the grid.
|
|
1041
1041
|
*
|
|
1042
1042
|
* Defines all columns including their keys, titles, sticky positioning, and widths.
|
|
1043
1043
|
* Value is reactive and triggers column layout recalculation when changed.
|
|
1044
1044
|
*/
|
|
1045
|
-
columns = signal([], ...(ngDevMode ? [{ debugName: "columns" }] : []));
|
|
1045
|
+
columns = signal([], ...(ngDevMode ? [{ debugName: "columns" }] : /* istanbul ignore next */ []));
|
|
1046
1046
|
/**
|
|
1047
1047
|
* Array of pinned row configurations.
|
|
1048
1048
|
*
|
|
1049
1049
|
* Defines rows that remain fixed at the top or bottom of the grid during scrolling.
|
|
1050
1050
|
* Each row includes data, position ('top' or 'bottom'), and optional ordering.
|
|
1051
1051
|
*/
|
|
1052
|
-
pinnedRows = signal([], ...(ngDevMode ? [{ debugName: "pinnedRows" }] : []));
|
|
1053
|
-
headerGroups = signal([], ...(ngDevMode ? [{ debugName: "headerGroups" }] : []));
|
|
1052
|
+
pinnedRows = signal([], ...(ngDevMode ? [{ debugName: "pinnedRows" }] : /* istanbul ignore next */ []));
|
|
1053
|
+
headerGroups = signal([], ...(ngDevMode ? [{ debugName: "headerGroups" }] : /* istanbul ignore next */ []));
|
|
1054
1054
|
/**
|
|
1055
1055
|
* Current width of the grid container in pixels.
|
|
1056
1056
|
*
|
|
1057
1057
|
* Used for column width calculations and layout adjustments.
|
|
1058
1058
|
* Value is reactive and triggers column layout recalculation when changed.
|
|
1059
1059
|
*/
|
|
1060
|
-
containerWidth = signal(0, ...(ngDevMode ? [{ debugName: "containerWidth" }] : []));
|
|
1060
|
+
containerWidth = signal(0, ...(ngDevMode ? [{ debugName: "containerWidth" }] : /* istanbul ignore next */ []));
|
|
1061
1061
|
/**
|
|
1062
1062
|
* Flag indicating whether the custom scrollbar should be visible.
|
|
1063
1063
|
*
|
|
1064
1064
|
* Automatically computed based on content height vs. container height.
|
|
1065
1065
|
*/
|
|
1066
|
-
scrollbarVisible = signal(false, ...(ngDevMode ? [{ debugName: "scrollbarVisible" }] : []));
|
|
1066
|
+
scrollbarVisible = signal(false, ...(ngDevMode ? [{ debugName: "scrollbarVisible" }] : /* istanbul ignore next */ []));
|
|
1067
1067
|
/**
|
|
1068
1068
|
* Height of the scrollbar thumb in pixels.
|
|
1069
1069
|
*
|
|
1070
1070
|
* Proportional to the ratio of visible content to total content height.
|
|
1071
1071
|
*/
|
|
1072
|
-
thumbHeightPx = signal(0, ...(ngDevMode ? [{ debugName: "thumbHeightPx" }] : []));
|
|
1072
|
+
thumbHeightPx = signal(0, ...(ngDevMode ? [{ debugName: "thumbHeightPx" }] : /* istanbul ignore next */ []));
|
|
1073
1073
|
/**
|
|
1074
1074
|
* Top position of the scrollbar thumb in pixels.
|
|
1075
1075
|
*
|
|
1076
1076
|
* Corresponds to the current scroll position within the scrollable area.
|
|
1077
1077
|
*/
|
|
1078
|
-
thumbTopPx = signal(0, ...(ngDevMode ? [{ debugName: "thumbTopPx" }] : []));
|
|
1078
|
+
thumbTopPx = signal(0, ...(ngDevMode ? [{ debugName: "thumbTopPx" }] : /* istanbul ignore next */ []));
|
|
1079
1079
|
/**
|
|
1080
1080
|
* Flag indicating whether the user is currently dragging the scrollbar thumb.
|
|
1081
1081
|
*
|
|
@@ -1091,15 +1091,15 @@ class DataGridVm {
|
|
|
1091
1091
|
globalTypeCellTpls = new Map();
|
|
1092
1092
|
globalDataCellTpls = new Map();
|
|
1093
1093
|
globalRowCellTpls = new Map();
|
|
1094
|
-
#byKey = signal({}, ...(ngDevMode ? [{ debugName: "#byKey" }] : []));
|
|
1094
|
+
#byKey = signal({}, ...(ngDevMode ? [{ debugName: "#byKey" }] : /* istanbul ignore next */ []));
|
|
1095
1095
|
#defaultColWidth = 140;
|
|
1096
1096
|
#stickyLeftMap = new Map();
|
|
1097
1097
|
#stickyRightMap = new Map();
|
|
1098
|
-
#stickySplit = computed(() => splitSticky(this.columns() ?? []), ...(ngDevMode ? [{ debugName: "#stickySplit" }] : []));
|
|
1098
|
+
#stickySplit = computed(() => splitSticky(this.columns() ?? []), ...(ngDevMode ? [{ debugName: "#stickySplit" }] : /* istanbul ignore next */ []));
|
|
1099
1099
|
#layoutSignature = '';
|
|
1100
1100
|
#stickySignature = '';
|
|
1101
|
-
pinnedTop = signal([], ...(ngDevMode ? [{ debugName: "pinnedTop" }] : []));
|
|
1102
|
-
pinnedBottom = signal([], ...(ngDevMode ? [{ debugName: "pinnedBottom" }] : []));
|
|
1101
|
+
pinnedTop = signal([], ...(ngDevMode ? [{ debugName: "pinnedTop" }] : /* istanbul ignore next */ []));
|
|
1102
|
+
pinnedBottom = signal([], ...(ngDevMode ? [{ debugName: "pinnedBottom" }] : /* istanbul ignore next */ []));
|
|
1103
1103
|
/**
|
|
1104
1104
|
* Computed an array of non-sticky columns to display in the scrollable area.
|
|
1105
1105
|
*
|
|
@@ -1110,14 +1110,14 @@ class DataGridVm {
|
|
|
1110
1110
|
columnsToShow = computed(() => {
|
|
1111
1111
|
this.containerWidth();
|
|
1112
1112
|
return this.#stickySplit().visible;
|
|
1113
|
-
}, ...(ngDevMode ? [{ debugName: "columnsToShow" }] : []));
|
|
1113
|
+
}, ...(ngDevMode ? [{ debugName: "columnsToShow" }] : /* istanbul ignore next */ []));
|
|
1114
1114
|
contentWidth = computed(() => {
|
|
1115
1115
|
const columns = this.columnsToShow();
|
|
1116
1116
|
if (!columns.length) {
|
|
1117
1117
|
return 0;
|
|
1118
1118
|
}
|
|
1119
1119
|
return columns.reduce((sum, col) => sum + this.widthByKey(col.key), 0);
|
|
1120
|
-
}, ...(ngDevMode ? [{ debugName: "contentWidth" }] : []));
|
|
1120
|
+
}, ...(ngDevMode ? [{ debugName: "contentWidth" }] : /* istanbul ignore next */ []));
|
|
1121
1121
|
/**
|
|
1122
1122
|
* Computed array of normalized header groups with calculated widths.
|
|
1123
1123
|
*
|
|
@@ -1139,7 +1139,7 @@ class DataGridVm {
|
|
|
1139
1139
|
width: this.widthByKey(col.key),
|
|
1140
1140
|
}));
|
|
1141
1141
|
return computeHeaderGroups(headers, normalizedColumns);
|
|
1142
|
-
}, ...(ngDevMode ? [{ debugName: "normalizedHeaderGroups" }] : []));
|
|
1142
|
+
}, ...(ngDevMode ? [{ debugName: "normalizedHeaderGroups" }] : /* istanbul ignore next */ []));
|
|
1143
1143
|
constructor() {
|
|
1144
1144
|
effect(() => {
|
|
1145
1145
|
const rows = this.pinnedRows() ?? [];
|
|
@@ -1304,22 +1304,22 @@ class DataGridCellComponent {
|
|
|
1304
1304
|
* Used for rendering row numbers (displayed as 1-based in 'index' type columns)
|
|
1305
1305
|
* and passed to custom templates as context.
|
|
1306
1306
|
*/
|
|
1307
|
-
index = input.required(...(ngDevMode ? [{ debugName: "index" }] : []));
|
|
1307
|
+
index = input.required(...(ngDevMode ? [{ debugName: "index" }] : /* istanbul ignore next */ []));
|
|
1308
1308
|
/**
|
|
1309
1309
|
* Data object for the current row.
|
|
1310
1310
|
*
|
|
1311
1311
|
* Contains the complete row data that can be accessed by column value functions
|
|
1312
1312
|
* or custom render templates. Type-safe, according to the Data generic parameter.
|
|
1313
1313
|
*/
|
|
1314
|
-
item = input.required(...(ngDevMode ? [{ debugName: "item" }] : []));
|
|
1315
|
-
isPinned = input(false, ...(ngDevMode ? [{ debugName: "isPinned" }] : []));
|
|
1314
|
+
item = input.required(...(ngDevMode ? [{ debugName: "item" }] : /* istanbul ignore next */ []));
|
|
1315
|
+
isPinned = input(false, ...(ngDevMode ? [{ debugName: "isPinned" }] : /* istanbul ignore next */ []));
|
|
1316
1316
|
/**
|
|
1317
1317
|
* Column configuration object.
|
|
1318
1318
|
*
|
|
1319
1319
|
* Defines how the cell should be rendered, including key mapping, type,
|
|
1320
1320
|
* custom templates, or value transformation functions.
|
|
1321
1321
|
*/
|
|
1322
|
-
column = input.required(...(ngDevMode ? [{ debugName: "column" }] : []));
|
|
1322
|
+
column = input.required(...(ngDevMode ? [{ debugName: "column" }] : /* istanbul ignore next */ []));
|
|
1323
1323
|
/**
|
|
1324
1324
|
* Injected DataGridVm service instance.
|
|
1325
1325
|
*
|
|
@@ -1355,7 +1355,7 @@ class DataGridCellComponent {
|
|
|
1355
1355
|
return 'globalRowTpl';
|
|
1356
1356
|
}
|
|
1357
1357
|
return 'type' in col ? col['type'] : 'plain';
|
|
1358
|
-
}, ...(ngDevMode ? [{ debugName: "type" }] : []));
|
|
1358
|
+
}, ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
|
|
1359
1359
|
/**
|
|
1360
1360
|
* Computed cell value extracted from row data.
|
|
1361
1361
|
*
|
|
@@ -1399,7 +1399,7 @@ class DataGridCellComponent {
|
|
|
1399
1399
|
return typeTransformer(row, ctx);
|
|
1400
1400
|
}
|
|
1401
1401
|
return displayValue;
|
|
1402
|
-
}, ...(ngDevMode ? [{ debugName: "value" }] : []));
|
|
1402
|
+
}, ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
1403
1403
|
resolveTypeTemplate(type) {
|
|
1404
1404
|
if (!type) {
|
|
1405
1405
|
return undefined;
|
|
@@ -2153,13 +2153,16 @@ function createGridSourceDataFeature(ctx) {
|
|
|
2153
2153
|
const PARALLEL_PREFETCH_REQUESTS = 3;
|
|
2154
2154
|
const MAX_BUFFERED_PAGES = 100;
|
|
2155
2155
|
const sourcePages = new Map();
|
|
2156
|
-
const bufferVersion = signal(0, ...(ngDevMode ? [{ debugName: "bufferVersion" }] : []));
|
|
2156
|
+
const bufferVersion = signal(0, ...(ngDevMode ? [{ debugName: "bufferVersion" }] : /* istanbul ignore next */ []));
|
|
2157
2157
|
const pendingPages = new Set();
|
|
2158
2158
|
const queuedPages = [];
|
|
2159
2159
|
let lastSourceRef = null;
|
|
2160
2160
|
let lastSourceVersion = null;
|
|
2161
2161
|
let activeRequests = 0;
|
|
2162
2162
|
let requestGeneration = 0;
|
|
2163
|
+
let hasReceivedData = false;
|
|
2164
|
+
let pageBase = 0;
|
|
2165
|
+
const hasSessionState = () => sourcePages.size > 0 || pendingPages.size > 0 || queuedPages.length > 0 || activeRequests > 0 || hasReceivedData;
|
|
2163
2166
|
const resolvedLoading = () => ctx.getSource()?.loading() ?? ctx.getFallbackLoading();
|
|
2164
2167
|
const totalRowCount = () => {
|
|
2165
2168
|
const source = ctx.getSource();
|
|
@@ -2170,7 +2173,9 @@ function createGridSourceDataFeature(ctx) {
|
|
|
2170
2173
|
bufferVersion();
|
|
2171
2174
|
const knownTotal = resolvedTotalElements(source);
|
|
2172
2175
|
if (knownTotal !== null) {
|
|
2173
|
-
|
|
2176
|
+
const pageSize = Math.max(1, source.pageSize || ctx.getFallbackPageSize());
|
|
2177
|
+
const shiftedTotal = Math.max(0, knownTotal - pageBase * pageSize);
|
|
2178
|
+
return shiftedTotal > 0 ? shiftedTotal : (source.items()?.length ?? 0);
|
|
2174
2179
|
}
|
|
2175
2180
|
const loadedRows = contiguousLoadedRowCount(source);
|
|
2176
2181
|
if (loadedRows <= 0) {
|
|
@@ -2214,12 +2219,13 @@ function createGridSourceDataFeature(ctx) {
|
|
|
2214
2219
|
}
|
|
2215
2220
|
bufferVersion();
|
|
2216
2221
|
const pageSize = Math.max(1, source.pageSize || ctx.getFallbackPageSize());
|
|
2217
|
-
const
|
|
2222
|
+
const localPage = Math.floor(index / pageSize);
|
|
2223
|
+
const page = localToAbsolutePage(localPage);
|
|
2218
2224
|
const pageItems = sourcePages.get(page);
|
|
2219
2225
|
if (!pageItems) {
|
|
2220
2226
|
return null;
|
|
2221
2227
|
}
|
|
2222
|
-
return pageItems[index -
|
|
2228
|
+
return pageItems[index - localPage * pageSize] ?? null;
|
|
2223
2229
|
};
|
|
2224
2230
|
const activePageSize = () => ctx.getSource()?.pageSize || ctx.getFallbackPageSize();
|
|
2225
2231
|
const requestRowCount = () => {
|
|
@@ -2233,11 +2239,12 @@ function createGridSourceDataFeature(ctx) {
|
|
|
2233
2239
|
const requestPage = (event) => {
|
|
2234
2240
|
const source = ctx.getSource();
|
|
2235
2241
|
if (source) {
|
|
2242
|
+
const targetPage = ctx.getMode() === 'infinity' ? Math.max(0, localToAbsolutePage(event.page)) : event.page;
|
|
2236
2243
|
if (source.updatePageSize && event.rows > 0 && event.rows !== source.pageSize) {
|
|
2237
2244
|
void source.updatePageSize(event.rows);
|
|
2238
2245
|
return;
|
|
2239
2246
|
}
|
|
2240
|
-
void source.updatePage(
|
|
2247
|
+
void source.updatePage(targetPage);
|
|
2241
2248
|
return;
|
|
2242
2249
|
}
|
|
2243
2250
|
ctx.emitPageChange(event);
|
|
@@ -2271,7 +2278,7 @@ function createGridSourceDataFeature(ctx) {
|
|
|
2271
2278
|
};
|
|
2272
2279
|
const ensureBufferedRange = (state) => {
|
|
2273
2280
|
const source = ctx.getSource();
|
|
2274
|
-
if (!source || ctx.getMode() !== 'infinity' || state.total <= 0) {
|
|
2281
|
+
if (!source || ctx.getMode() !== 'infinity' || state.total <= 0 || !hasReceivedData) {
|
|
2275
2282
|
return;
|
|
2276
2283
|
}
|
|
2277
2284
|
const pageSize = Math.max(1, source.pageSize || ctx.getFallbackPageSize());
|
|
@@ -2283,11 +2290,11 @@ function createGridSourceDataFeature(ctx) {
|
|
|
2283
2290
|
const sideBufferPages = Math.max(1, visiblePageCount * Math.floor(PAGE_WINDOW_MULTIPLIER / 2));
|
|
2284
2291
|
const nextQueue = [];
|
|
2285
2292
|
for (let page = visiblePageStart; page <= visiblePageEnd; page++) {
|
|
2286
|
-
pushPage(nextQueue, page, maxPage);
|
|
2293
|
+
pushPage(nextQueue, localToAbsolutePage(page), localToAbsolutePage(maxPage));
|
|
2287
2294
|
}
|
|
2288
2295
|
for (let offset = 1; offset <= sideBufferPages; offset++) {
|
|
2289
|
-
pushPage(nextQueue, visiblePageStart - offset, maxPage);
|
|
2290
|
-
pushPage(nextQueue, visiblePageEnd + offset, maxPage);
|
|
2296
|
+
pushPage(nextQueue, localToAbsolutePage(visiblePageStart - offset), localToAbsolutePage(maxPage));
|
|
2297
|
+
pushPage(nextQueue, localToAbsolutePage(visiblePageEnd + offset), localToAbsolutePage(maxPage));
|
|
2291
2298
|
}
|
|
2292
2299
|
evictExcessPages(new Set(nextQueue));
|
|
2293
2300
|
queuedPages.length = 0;
|
|
@@ -2311,43 +2318,47 @@ function createGridSourceDataFeature(ctx) {
|
|
|
2311
2318
|
if (lastSourceRef !== source) {
|
|
2312
2319
|
lastSourceRef = source;
|
|
2313
2320
|
lastSourceVersion = version ?? null;
|
|
2314
|
-
|
|
2321
|
+
resetSession();
|
|
2315
2322
|
didReset = true;
|
|
2316
2323
|
}
|
|
2317
2324
|
else if (version !== undefined && version !== lastSourceVersion) {
|
|
2318
2325
|
lastSourceVersion = version;
|
|
2319
|
-
|
|
2326
|
+
resetSession();
|
|
2320
2327
|
didReset = true;
|
|
2321
2328
|
}
|
|
2322
2329
|
if (mode !== 'infinity') {
|
|
2323
|
-
|
|
2330
|
+
if (hasSessionState()) {
|
|
2331
|
+
resetSession();
|
|
2332
|
+
}
|
|
2324
2333
|
return;
|
|
2325
2334
|
}
|
|
2326
2335
|
if (didReset && source.loading()) {
|
|
2327
2336
|
return;
|
|
2328
2337
|
}
|
|
2329
|
-
sourcePages.
|
|
2338
|
+
pageBase = sourcePages.size === 0 ? Math.max(0, source.page || 0) : pageBase;
|
|
2339
|
+
const pageItems = source.items() ?? [];
|
|
2340
|
+
sourcePages.set(Math.max(0, source.page || 0), pageItems);
|
|
2341
|
+
if (!hasReceivedData && pageItems.length > 0) {
|
|
2342
|
+
hasReceivedData = true;
|
|
2343
|
+
}
|
|
2330
2344
|
bufferVersion.update((current) => current + 1);
|
|
2331
2345
|
};
|
|
2332
2346
|
const clearState = () => {
|
|
2333
2347
|
lastSourceRef = null;
|
|
2334
2348
|
lastSourceVersion = null;
|
|
2335
|
-
|
|
2336
|
-
clearBuffer();
|
|
2337
|
-
};
|
|
2338
|
-
const clearBuffer = () => {
|
|
2339
|
-
requestGeneration++;
|
|
2340
|
-
if (!sourcePages.size) {
|
|
2349
|
+
if (!hasSessionState()) {
|
|
2341
2350
|
return;
|
|
2342
2351
|
}
|
|
2343
|
-
|
|
2344
|
-
bufferVersion.update((current) => current + 1);
|
|
2352
|
+
resetSession();
|
|
2345
2353
|
};
|
|
2346
|
-
const
|
|
2354
|
+
const resetSession = () => {
|
|
2347
2355
|
requestGeneration++;
|
|
2356
|
+
hasReceivedData = false;
|
|
2357
|
+
pageBase = 0;
|
|
2348
2358
|
queuedPages.length = 0;
|
|
2349
2359
|
pendingPages.clear();
|
|
2350
2360
|
activeRequests = 0;
|
|
2361
|
+
sourcePages.clear();
|
|
2351
2362
|
bufferVersion.update((current) => current + 1);
|
|
2352
2363
|
};
|
|
2353
2364
|
const pushPage = (pages, page, maxPage) => {
|
|
@@ -2358,7 +2369,7 @@ function createGridSourceDataFeature(ctx) {
|
|
|
2358
2369
|
};
|
|
2359
2370
|
const drainQueuedPages = () => {
|
|
2360
2371
|
const source = ctx.getSource();
|
|
2361
|
-
if (!source || ctx.getMode() !== 'infinity') {
|
|
2372
|
+
if (!source || ctx.getMode() !== 'infinity' || !hasReceivedData) {
|
|
2362
2373
|
return;
|
|
2363
2374
|
}
|
|
2364
2375
|
const maxConcurrentRequests = source.prefetchMode === 'parallel' ? PARALLEL_PREFETCH_REQUESTS : SEQUENTIAL_PREFETCH_REQUESTS;
|
|
@@ -2405,7 +2416,7 @@ function createGridSourceDataFeature(ctx) {
|
|
|
2405
2416
|
const contiguousLoadedRowCount = (source) => {
|
|
2406
2417
|
const pageSize = Math.max(1, source.pageSize || ctx.getFallbackPageSize());
|
|
2407
2418
|
let loaded = 0;
|
|
2408
|
-
let page =
|
|
2419
|
+
let page = pageBase;
|
|
2409
2420
|
while (sourcePages.has(page)) {
|
|
2410
2421
|
const items = sourcePages.get(page) ?? [];
|
|
2411
2422
|
loaded += items.length;
|
|
@@ -2418,7 +2429,7 @@ function createGridSourceDataFeature(ctx) {
|
|
|
2418
2429
|
};
|
|
2419
2430
|
const hasReachedInfinityEnd = (source) => {
|
|
2420
2431
|
const pageSize = Math.max(1, source.pageSize || ctx.getFallbackPageSize());
|
|
2421
|
-
let page =
|
|
2432
|
+
let page = pageBase;
|
|
2422
2433
|
while (sourcePages.has(page)) {
|
|
2423
2434
|
const items = sourcePages.get(page) ?? [];
|
|
2424
2435
|
if (items.length < pageSize) {
|
|
@@ -2455,6 +2466,7 @@ function createGridSourceDataFeature(ctx) {
|
|
|
2455
2466
|
}
|
|
2456
2467
|
return rows;
|
|
2457
2468
|
};
|
|
2469
|
+
const localToAbsolutePage = (page) => pageBase + page;
|
|
2458
2470
|
return {
|
|
2459
2471
|
activePageSize,
|
|
2460
2472
|
ensureBufferedRange,
|
|
@@ -2741,14 +2753,14 @@ class Selector {
|
|
|
2741
2753
|
* This signal holds all data items that can be selected.
|
|
2742
2754
|
* Defaults to an empty array.
|
|
2743
2755
|
*/
|
|
2744
|
-
data = signal([], ...(ngDevMode ? [{ debugName: "data" }] : []));
|
|
2756
|
+
data = signal([], ...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
|
|
2745
2757
|
/**
|
|
2746
2758
|
* Signal containing the current selection configuration.
|
|
2747
2759
|
*
|
|
2748
2760
|
* Defines the selection mode and the key property used for identifying rows.
|
|
2749
2761
|
* Defaults to `{ mode: 'none' }` which disables selection.
|
|
2750
2762
|
*/
|
|
2751
|
-
selection = signal({ mode: 'none' }, ...(ngDevMode ? [{ debugName: "selection" }] : []));
|
|
2763
|
+
selection = signal({ mode: 'none' }, ...(ngDevMode ? [{ debugName: "selection" }] : /* istanbul ignore next */ []));
|
|
2752
2764
|
/**
|
|
2753
2765
|
* Signal containing the array of currently selected row keys.
|
|
2754
2766
|
*
|
|
@@ -2756,8 +2768,8 @@ class Selector {
|
|
|
2756
2768
|
* defined in the selection configuration.
|
|
2757
2769
|
* Defaults to an empty array.
|
|
2758
2770
|
*/
|
|
2759
|
-
selectedKeys = signal([], ...(ngDevMode ? [{ debugName: "selectedKeys" }] : []));
|
|
2760
|
-
selectedKeySet = computed(() => new Set(this.selectedKeys()), ...(ngDevMode ? [{ debugName: "selectedKeySet" }] : []));
|
|
2771
|
+
selectedKeys = signal([], ...(ngDevMode ? [{ debugName: "selectedKeys" }] : /* istanbul ignore next */ []));
|
|
2772
|
+
selectedKeySet = computed(() => new Set(this.selectedKeys()), ...(ngDevMode ? [{ debugName: "selectedKeySet" }] : /* istanbul ignore next */ []));
|
|
2761
2773
|
/**
|
|
2762
2774
|
* Computed signal indicating the overall selection state of all rows.
|
|
2763
2775
|
*
|
|
@@ -2787,7 +2799,7 @@ class Selector {
|
|
|
2787
2799
|
selected.has(key) && matched++;
|
|
2788
2800
|
}
|
|
2789
2801
|
return matched === loadedKeys.length ? true : matched === 0 ? false : 'mixed';
|
|
2790
|
-
}, ...(ngDevMode ? [{ debugName: "isAllSelected" }] : []));
|
|
2802
|
+
}, ...(ngDevMode ? [{ debugName: "isAllSelected" }] : /* istanbul ignore next */ []));
|
|
2791
2803
|
/**
|
|
2792
2804
|
* Checks whether a specific row is currently selected.
|
|
2793
2805
|
*
|
|
@@ -2890,8 +2902,8 @@ class Selector {
|
|
|
2890
2902
|
|
|
2891
2903
|
// noinspection CssUnresolvedCustomProperty
|
|
2892
2904
|
class CheckboxIcon {
|
|
2893
|
-
state = input(false, ...(ngDevMode ? [{ debugName: "state" }] : []));
|
|
2894
|
-
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
2905
|
+
state = input(false, ...(ngDevMode ? [{ debugName: "state" }] : /* istanbul ignore next */ []));
|
|
2906
|
+
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
2895
2907
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: CheckboxIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2896
2908
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.4", type: CheckboxIcon, isStandalone: true, selector: "re-checkbox-ic", inputs: { state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
2897
2909
|
<span
|
|
@@ -2928,7 +2940,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
2928
2940
|
|
|
2929
2941
|
/* eslint-disable max-len */
|
|
2930
2942
|
class ExpandIcon {
|
|
2931
|
-
expanded = input(false, { ...(ngDevMode ? { debugName: "expanded" } : {}), transform: booleanAttribute });
|
|
2943
|
+
expanded = input(false, { ...(ngDevMode ? { debugName: "expanded" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
2932
2944
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ExpandIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2933
2945
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: ExpandIcon, isStandalone: true, selector: "re-expand-ic", inputs: { expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
2934
2946
|
@if (expanded()) {
|
|
@@ -2970,7 +2982,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
2970
2982
|
}], propDecorators: { expanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: false }] }] } });
|
|
2971
2983
|
|
|
2972
2984
|
class SortIcon {
|
|
2973
|
-
direction = input('asc', ...(ngDevMode ? [{ debugName: "direction" }] : []));
|
|
2985
|
+
direction = input('asc', ...(ngDevMode ? [{ debugName: "direction" }] : /* istanbul ignore next */ []));
|
|
2974
2986
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: SortIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2975
2987
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: SortIcon, isStandalone: true, selector: "re-sort-ic", inputs: { direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
2976
2988
|
@if (direction()) {
|
|
@@ -3039,7 +3051,7 @@ class DataGrid {
|
|
|
3039
3051
|
* Each item represents a single row. The component will efficiently render
|
|
3040
3052
|
* only visible rows using virtual scrolling.
|
|
3041
3053
|
*/
|
|
3042
|
-
data = input([], ...(ngDevMode ? [{ debugName: "data" }] : []));
|
|
3054
|
+
data = input([], ...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
|
|
3043
3055
|
/**
|
|
3044
3056
|
* Optional page-oriented source for direct grid/store integration.
|
|
3045
3057
|
*
|
|
@@ -3047,14 +3059,14 @@ class DataGrid {
|
|
|
3047
3059
|
* and in infinity mode keeps its own internal page buffer instead of requiring
|
|
3048
3060
|
* an ever-growing accumulated `data` array from the parent.
|
|
3049
3061
|
*/
|
|
3050
|
-
source = input(null, ...(ngDevMode ? [{ debugName: "source" }] : []));
|
|
3062
|
+
source = input(null, ...(ngDevMode ? [{ debugName: "source" }] : /* istanbul ignore next */ []));
|
|
3051
3063
|
/**
|
|
3052
3064
|
* Column configuration for the table.
|
|
3053
3065
|
*
|
|
3054
3066
|
* Defines how each column should be rendered, sorted, and styled.
|
|
3055
3067
|
* Supports custom templates, sorting keys, and expandable columns.
|
|
3056
3068
|
*/
|
|
3057
|
-
columns = input([], ...(ngDevMode ? [{ debugName: "columns" }] : []));
|
|
3069
|
+
columns = input([], ...(ngDevMode ? [{ debugName: "columns" }] : /* istanbul ignore next */ []));
|
|
3058
3070
|
/**
|
|
3059
3071
|
* Pagination mode: 'none', 'pagination', or 'infinity'.
|
|
3060
3072
|
*
|
|
@@ -3062,35 +3074,35 @@ class DataGrid {
|
|
|
3062
3074
|
* - `pagination` - Classic page-based pagination with fixed page size
|
|
3063
3075
|
* - `infinity` - Infinite scroll mode, loads more data as user scrolls
|
|
3064
3076
|
*/
|
|
3065
|
-
mode = input(this.defaults.mode, ...(ngDevMode ? [{ debugName: "mode" }] : []));
|
|
3077
|
+
mode = input(this.defaults.mode, ...(ngDevMode ? [{ debugName: "mode" }] : /* istanbul ignore next */ []));
|
|
3066
3078
|
/**
|
|
3067
3079
|
* Array of pinned rows that remain visible at the top or bottom.
|
|
3068
3080
|
*
|
|
3069
3081
|
* Pinned rows stay fixed while the rest of the content scrolls.
|
|
3070
3082
|
* Useful for totals, summaries, or always-visible items.
|
|
3071
3083
|
*/
|
|
3072
|
-
pinnedRows = input([], ...(ngDevMode ? [{ debugName: "pinnedRows" }] : []));
|
|
3084
|
+
pinnedRows = input([], ...(ngDevMode ? [{ debugName: "pinnedRows" }] : /* istanbul ignore next */ []));
|
|
3073
3085
|
/**
|
|
3074
3086
|
* Function to determine if a row should become sticky at the top.
|
|
3075
3087
|
*
|
|
3076
3088
|
* When provided, rows matching this predicate will stick to the top
|
|
3077
3089
|
* of the scroll area as the user scrolls.
|
|
3078
3090
|
*/
|
|
3079
|
-
isRowSticky = input(undefined, ...(ngDevMode ? [{ debugName: "isRowSticky" }] : []));
|
|
3080
|
-
isRowDisabled = input(undefined, ...(ngDevMode ? [{ debugName: "isRowDisabled" }] : []));
|
|
3091
|
+
isRowSticky = input(undefined, ...(ngDevMode ? [{ debugName: "isRowSticky" }] : /* istanbul ignore next */ []));
|
|
3092
|
+
isRowDisabled = input(undefined, ...(ngDevMode ? [{ debugName: "isRowDisabled" }] : /* istanbul ignore next */ []));
|
|
3081
3093
|
/**
|
|
3082
3094
|
* Function to choose a custom template for a row.
|
|
3083
3095
|
*
|
|
3084
3096
|
* If it returns a template, the row will be rendered with it;
|
|
3085
3097
|
* otherwise, the default row rendering is used.
|
|
3086
3098
|
*/
|
|
3087
|
-
getRowTemplate = input(undefined, ...(ngDevMode ? [{ debugName: "getRowTemplate" }] : []));
|
|
3099
|
+
getRowTemplate = input(undefined, ...(ngDevMode ? [{ debugName: "getRowTemplate" }] : /* istanbul ignore next */ []));
|
|
3088
3100
|
/**
|
|
3089
3101
|
* Whether to add an index column showing row numbers.
|
|
3090
3102
|
*
|
|
3091
3103
|
* When enabled, it automatically adds a column displaying sequential row numbers.
|
|
3092
3104
|
*/
|
|
3093
|
-
hasIndexColumn = input(this.defaults.hasIndexColumn, { ...(ngDevMode ? { debugName: "hasIndexColumn" } : {}), transform: booleanAttribute });
|
|
3105
|
+
hasIndexColumn = input(this.defaults.hasIndexColumn, { ...(ngDevMode ? { debugName: "hasIndexColumn" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
3094
3106
|
/**
|
|
3095
3107
|
* Row selection configuration.
|
|
3096
3108
|
*
|
|
@@ -3101,21 +3113,21 @@ class DataGrid {
|
|
|
3101
3113
|
*
|
|
3102
3114
|
* When selection is enabled, a `key` must be provided to identify rows.
|
|
3103
3115
|
*/
|
|
3104
|
-
selection = input(this.defaults.selection, ...(ngDevMode ? [{ debugName: "selection" }] : []));
|
|
3116
|
+
selection = input(this.defaults.selection, ...(ngDevMode ? [{ debugName: "selection" }] : /* istanbul ignore next */ []));
|
|
3105
3117
|
/**
|
|
3106
3118
|
* Number of items per page.
|
|
3107
3119
|
*
|
|
3108
3120
|
* Used in pagination and infinity scroll modes to control
|
|
3109
3121
|
* how many rows are loaded at once. Default is 20.
|
|
3110
3122
|
*/
|
|
3111
|
-
pageSize = input(this.defaults.pageSize, { ...(ngDevMode ? { debugName: "pageSize" } : {}), transform: numberAttribute });
|
|
3123
|
+
pageSize = input(this.defaults.pageSize, { ...(ngDevMode ? { debugName: "pageSize" } : /* istanbul ignore next */ {}), transform: numberAttribute });
|
|
3112
3124
|
/**
|
|
3113
3125
|
* Height of each row in pixels.
|
|
3114
3126
|
*
|
|
3115
3127
|
* Used for virtual scrolling calculations. Must be consistent
|
|
3116
3128
|
* across all rows for accurate scrolling. Default is 40.
|
|
3117
3129
|
*/
|
|
3118
|
-
rowHeight = input(this.defaults.rowHeight, { ...(ngDevMode ? { debugName: "rowHeight" } : {}), transform: numberAttribute });
|
|
3130
|
+
rowHeight = input(this.defaults.rowHeight, { ...(ngDevMode ? { debugName: "rowHeight" } : /* istanbul ignore next */ {}), transform: numberAttribute });
|
|
3119
3131
|
/**
|
|
3120
3132
|
* Grid height configuration.
|
|
3121
3133
|
*
|
|
@@ -3123,21 +3135,21 @@ class DataGrid {
|
|
|
3123
3135
|
* - `'full'` - Fill container height (100%), can be managed by host component style
|
|
3124
3136
|
* - `'default'` - Height by CSS var (--re-data-grid-height)
|
|
3125
3137
|
*/
|
|
3126
|
-
height = input(this.defaults.height, ...(ngDevMode ? [{ debugName: "height" }] : []));
|
|
3138
|
+
height = input(this.defaults.height, ...(ngDevMode ? [{ debugName: "height" }] : /* istanbul ignore next */ []));
|
|
3127
3139
|
/**
|
|
3128
3140
|
* Size of the virtual scroll buffer.
|
|
3129
3141
|
*
|
|
3130
3142
|
* Number of extra rows to render above and below the viewport
|
|
3131
3143
|
* to reduce flickering during fast scrolling. Default is 8.
|
|
3132
3144
|
*/
|
|
3133
|
-
virtualBuffer = input(this.defaults.virtualBuffer, ...(ngDevMode ? [{ debugName: "virtualBuffer" }] : []));
|
|
3145
|
+
virtualBuffer = input(this.defaults.virtualBuffer, ...(ngDevMode ? [{ debugName: "virtualBuffer" }] : /* istanbul ignore next */ []));
|
|
3134
3146
|
/**
|
|
3135
3147
|
* Locks vertical scrolling while keeping horizontal scrolling enabled.
|
|
3136
3148
|
*
|
|
3137
3149
|
* Useful when the grid height is fixed by the parent and vertical scrolling
|
|
3138
3150
|
* should be managed externally.
|
|
3139
3151
|
*/
|
|
3140
|
-
lockVerticalScroll = input(false, { ...(ngDevMode ? { debugName: "lockVerticalScroll" } : {}), transform: booleanAttribute });
|
|
3152
|
+
lockVerticalScroll = input(false, { ...(ngDevMode ? { debugName: "lockVerticalScroll" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
3141
3153
|
/**
|
|
3142
3154
|
* Header group configuration for creating multi-level column headers.
|
|
3143
3155
|
*
|
|
@@ -3157,36 +3169,36 @@ class DataGrid {
|
|
|
3157
3169
|
* ];
|
|
3158
3170
|
* ```
|
|
3159
3171
|
*/
|
|
3160
|
-
headerGroups = input([], ...(ngDevMode ? [{ debugName: "headerGroups" }] : []));
|
|
3172
|
+
headerGroups = input([], ...(ngDevMode ? [{ debugName: "headerGroups" }] : /* istanbul ignore next */ []));
|
|
3161
3173
|
/**
|
|
3162
3174
|
* Loading state indicator.
|
|
3163
3175
|
*
|
|
3164
3176
|
* When true, displays loading template instead of data.
|
|
3165
3177
|
* Useful during async data fetching operations.
|
|
3166
3178
|
*/
|
|
3167
|
-
loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : {}), transform: booleanAttribute });
|
|
3168
|
-
loadingMode = input(this.defaults.loadingMode, ...(ngDevMode ? [{ debugName: "loadingMode" }] : []));
|
|
3169
|
-
deferContent = input(this.defaults.deferContent, { ...(ngDevMode ? { debugName: "deferContent" } : {}), transform: booleanAttribute });
|
|
3170
|
-
deferHeader = input(this.defaults.deferHeader, { ...(ngDevMode ? { debugName: "deferHeader" } : {}), transform: booleanAttribute });
|
|
3171
|
-
deferPinned = input(this.defaults.deferPinned, { ...(ngDevMode ? { debugName: "deferPinned" } : {}), transform: booleanAttribute });
|
|
3172
|
-
deferCells = input(this.defaults.deferCells, { ...(ngDevMode ? { debugName: "deferCells" } : {}), transform: booleanAttribute });
|
|
3173
|
-
deferIcons = input(this.defaults.deferIcons, { ...(ngDevMode ? { debugName: "deferIcons" } : {}), transform: booleanAttribute });
|
|
3174
|
-
deferTooltip = input(this.defaults.deferTooltip, { ...(ngDevMode ? { debugName: "deferTooltip" } : {}), transform: booleanAttribute });
|
|
3179
|
+
loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
3180
|
+
loadingMode = input(this.defaults.loadingMode, ...(ngDevMode ? [{ debugName: "loadingMode" }] : /* istanbul ignore next */ []));
|
|
3181
|
+
deferContent = input(this.defaults.deferContent, { ...(ngDevMode ? { debugName: "deferContent" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
3182
|
+
deferHeader = input(this.defaults.deferHeader, { ...(ngDevMode ? { debugName: "deferHeader" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
3183
|
+
deferPinned = input(this.defaults.deferPinned, { ...(ngDevMode ? { debugName: "deferPinned" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
3184
|
+
deferCells = input(this.defaults.deferCells, { ...(ngDevMode ? { debugName: "deferCells" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
3185
|
+
deferIcons = input(this.defaults.deferIcons, { ...(ngDevMode ? { debugName: "deferIcons" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
3186
|
+
deferTooltip = input(this.defaults.deferTooltip, { ...(ngDevMode ? { debugName: "deferTooltip" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
3175
3187
|
/**
|
|
3176
3188
|
* Function or property name for getting a unique row key.
|
|
3177
3189
|
*
|
|
3178
3190
|
* Used for efficient change detection and row tracking.
|
|
3179
3191
|
* Can be a property name (string) or a function that returns a unique identifier.
|
|
3180
3192
|
*/
|
|
3181
|
-
rowKey = input(undefined, ...(ngDevMode ? [{ debugName: "rowKey" }] : []));
|
|
3193
|
+
rowKey = input(undefined, ...(ngDevMode ? [{ debugName: "rowKey" }] : /* istanbul ignore next */ []));
|
|
3182
3194
|
/**
|
|
3183
3195
|
* Whether to start a page count from 0 (true) or 1 (false).
|
|
3184
3196
|
*
|
|
3185
3197
|
* Controls the numbering scheme for pagination events.
|
|
3186
3198
|
* Default is true (0-based indexing).
|
|
3187
3199
|
*/
|
|
3188
|
-
pageStartFromZero = input(this.defaults.pageStartFromZero, { ...(ngDevMode ? { debugName: "pageStartFromZero" } : {}), transform: booleanAttribute });
|
|
3189
|
-
sortMode = input(this.defaults.sortMode, ...(ngDevMode ? [{ debugName: "sortMode" }] : []));
|
|
3200
|
+
pageStartFromZero = input(this.defaults.pageStartFromZero, { ...(ngDevMode ? { debugName: "pageStartFromZero" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
3201
|
+
sortMode = input(this.defaults.sortMode, ...(ngDevMode ? [{ debugName: "sortMode" }] : /* istanbul ignore next */ []));
|
|
3190
3202
|
/**
|
|
3191
3203
|
* Event emitted when requesting data for a new page.
|
|
3192
3204
|
*
|
|
@@ -3436,62 +3448,62 @@ class DataGrid {
|
|
|
3436
3448
|
overlayScrollFeaturePromise;
|
|
3437
3449
|
stickyFeatureRef;
|
|
3438
3450
|
stickyFeaturePromise;
|
|
3439
|
-
rootEl = viewChild('root', ...(ngDevMode ? [{ debugName: "rootEl" }] : []));
|
|
3440
|
-
scrollEl = viewChild('scroll', ...(ngDevMode ? [{ debugName: "scrollEl" }] : []));
|
|
3441
|
-
headerEl = viewChild('header', ...(ngDevMode ? [{ debugName: "headerEl" }] : []));
|
|
3451
|
+
rootEl = viewChild('root', ...(ngDevMode ? [{ debugName: "rootEl" }] : /* istanbul ignore next */ []));
|
|
3452
|
+
scrollEl = viewChild('scroll', ...(ngDevMode ? [{ debugName: "scrollEl" }] : /* istanbul ignore next */ []));
|
|
3453
|
+
headerEl = viewChild('header', ...(ngDevMode ? [{ debugName: "headerEl" }] : /* istanbul ignore next */ []));
|
|
3442
3454
|
ngZone = inject(NgZone);
|
|
3443
|
-
cellTypedSlotRefs = contentChildren(DataGridTypeCellTemplateDirective, ...(ngDevMode ? [{ debugName: "cellTypedSlotRefs" }] : []));
|
|
3444
|
-
cellDataSlotRefs = contentChildren(DataGridCellTemplateDirective, ...(ngDevMode ? [{ debugName: "cellDataSlotRefs" }] : []));
|
|
3445
|
-
declarativeColumnRefs = contentChildren(DataGridDeclarativeColumn, ...(ngDevMode ? [{ debugName: "declarativeColumnRefs" }] : []));
|
|
3446
|
-
headerSlotRefs = contentChildren(DataGridHeaderTemplateDirective, ...(ngDevMode ? [{ debugName: "headerSlotRefs" }] : []));
|
|
3447
|
-
emptySlotRefs = contentChildren(DataGridCellEmptyDirective, ...(ngDevMode ? [{ debugName: "emptySlotRefs" }] : []));
|
|
3448
|
-
loadingSlotRefs = contentChildren(DataGridCellLoadingDirective, ...(ngDevMode ? [{ debugName: "loadingSlotRefs" }] : []));
|
|
3449
|
-
sortIcSlotRefs = contentChildren(DataGridSortIconDirective, ...(ngDevMode ? [{ debugName: "sortIcSlotRefs" }] : []));
|
|
3450
|
-
expanderIcSlotRefs = contentChildren(DataGridExpanderIconDirective, ...(ngDevMode ? [{ debugName: "expanderIcSlotRefs" }] : []));
|
|
3451
|
-
stickyRowSlotRefs = contentChildren(DataGridStickyRowDirective, ...(ngDevMode ? [{ debugName: "stickyRowSlotRefs" }] : []));
|
|
3452
|
-
rowSlotRefs = contentChildren(DataGridRowDirective, ...(ngDevMode ? [{ debugName: "rowSlotRefs" }] : []));
|
|
3453
|
-
emptyTpl = computed(() => this.emptySlotRefs()?.[0], ...(ngDevMode ? [{ debugName: "emptyTpl" }] : []));
|
|
3454
|
-
loadingTpl = computed(() => this.loadingSlotRefs()?.[0], ...(ngDevMode ? [{ debugName: "loadingTpl" }] : []));
|
|
3455
|
-
sortTpl = computed(() => this.sortIcSlotRefs()?.at(0), ...(ngDevMode ? [{ debugName: "sortTpl" }] : []));
|
|
3456
|
-
expanderTpl = computed(() => this.expanderIcSlotRefs()?.at(0), ...(ngDevMode ? [{ debugName: "expanderTpl" }] : []));
|
|
3457
|
-
stickyRowTpl = computed(() => this.stickyRowSlotRefs()?.at(0), ...(ngDevMode ? [{ debugName: "stickyRowTpl" }] : []));
|
|
3458
|
-
rowTpl = computed(() => this.rowSlotRefs()?.at(0), ...(ngDevMode ? [{ debugName: "rowTpl" }] : []));
|
|
3459
|
-
renderSlots = signal([], ...(ngDevMode ? [{ debugName: "renderSlots" }] : []));
|
|
3455
|
+
cellTypedSlotRefs = contentChildren(DataGridTypeCellTemplateDirective, ...(ngDevMode ? [{ debugName: "cellTypedSlotRefs" }] : /* istanbul ignore next */ []));
|
|
3456
|
+
cellDataSlotRefs = contentChildren(DataGridCellTemplateDirective, ...(ngDevMode ? [{ debugName: "cellDataSlotRefs" }] : /* istanbul ignore next */ []));
|
|
3457
|
+
declarativeColumnRefs = contentChildren(DataGridDeclarativeColumn, ...(ngDevMode ? [{ debugName: "declarativeColumnRefs" }] : /* istanbul ignore next */ []));
|
|
3458
|
+
headerSlotRefs = contentChildren(DataGridHeaderTemplateDirective, ...(ngDevMode ? [{ debugName: "headerSlotRefs" }] : /* istanbul ignore next */ []));
|
|
3459
|
+
emptySlotRefs = contentChildren(DataGridCellEmptyDirective, ...(ngDevMode ? [{ debugName: "emptySlotRefs" }] : /* istanbul ignore next */ []));
|
|
3460
|
+
loadingSlotRefs = contentChildren(DataGridCellLoadingDirective, ...(ngDevMode ? [{ debugName: "loadingSlotRefs" }] : /* istanbul ignore next */ []));
|
|
3461
|
+
sortIcSlotRefs = contentChildren(DataGridSortIconDirective, ...(ngDevMode ? [{ debugName: "sortIcSlotRefs" }] : /* istanbul ignore next */ []));
|
|
3462
|
+
expanderIcSlotRefs = contentChildren(DataGridExpanderIconDirective, ...(ngDevMode ? [{ debugName: "expanderIcSlotRefs" }] : /* istanbul ignore next */ []));
|
|
3463
|
+
stickyRowSlotRefs = contentChildren(DataGridStickyRowDirective, ...(ngDevMode ? [{ debugName: "stickyRowSlotRefs" }] : /* istanbul ignore next */ []));
|
|
3464
|
+
rowSlotRefs = contentChildren(DataGridRowDirective, ...(ngDevMode ? [{ debugName: "rowSlotRefs" }] : /* istanbul ignore next */ []));
|
|
3465
|
+
emptyTpl = computed(() => this.emptySlotRefs()?.[0], ...(ngDevMode ? [{ debugName: "emptyTpl" }] : /* istanbul ignore next */ []));
|
|
3466
|
+
loadingTpl = computed(() => this.loadingSlotRefs()?.[0], ...(ngDevMode ? [{ debugName: "loadingTpl" }] : /* istanbul ignore next */ []));
|
|
3467
|
+
sortTpl = computed(() => this.sortIcSlotRefs()?.at(0), ...(ngDevMode ? [{ debugName: "sortTpl" }] : /* istanbul ignore next */ []));
|
|
3468
|
+
expanderTpl = computed(() => this.expanderIcSlotRefs()?.at(0), ...(ngDevMode ? [{ debugName: "expanderTpl" }] : /* istanbul ignore next */ []));
|
|
3469
|
+
stickyRowTpl = computed(() => this.stickyRowSlotRefs()?.at(0), ...(ngDevMode ? [{ debugName: "stickyRowTpl" }] : /* istanbul ignore next */ []));
|
|
3470
|
+
rowTpl = computed(() => this.rowSlotRefs()?.at(0), ...(ngDevMode ? [{ debugName: "rowTpl" }] : /* istanbul ignore next */ []));
|
|
3471
|
+
renderSlots = signal([], ...(ngDevMode ? [{ debugName: "renderSlots" }] : /* istanbul ignore next */ []));
|
|
3460
3472
|
renderCount = 0;
|
|
3461
3473
|
lastStartIndex = -1;
|
|
3462
3474
|
lastEndIndex = -1;
|
|
3463
3475
|
startIndex = 0;
|
|
3464
|
-
headerHeight = signal(this.defaults.headerHeight, ...(ngDevMode ? [{ debugName: "headerHeight" }] : []));
|
|
3465
|
-
tooltipEl = viewChild('tooltip', ...(ngDevMode ? [{ debugName: "tooltipEl" }] : []));
|
|
3476
|
+
headerHeight = signal(this.defaults.headerHeight, ...(ngDevMode ? [{ debugName: "headerHeight" }] : /* istanbul ignore next */ []));
|
|
3477
|
+
tooltipEl = viewChild('tooltip', ...(ngDevMode ? [{ debugName: "tooltipEl" }] : /* istanbul ignore next */ []));
|
|
3466
3478
|
tooltipState = signal({
|
|
3467
3479
|
text: '',
|
|
3468
3480
|
x: 0,
|
|
3469
3481
|
y: 0,
|
|
3470
3482
|
visible: false,
|
|
3471
|
-
}, ...(ngDevMode ? [{ debugName: "tooltipState" }] : []));
|
|
3472
|
-
activeTooltipCellId = signal(null, ...(ngDevMode ? [{ debugName: "activeTooltipCellId" }] : []));
|
|
3483
|
+
}, ...(ngDevMode ? [{ debugName: "tooltipState" }] : /* istanbul ignore next */ []));
|
|
3484
|
+
activeTooltipCellId = signal(null, ...(ngDevMode ? [{ debugName: "activeTooltipCellId" }] : /* istanbul ignore next */ []));
|
|
3473
3485
|
tooltipId = `re-dg-tooltip-${DataGrid.nextAriaId++}`;
|
|
3474
3486
|
expanderRegionId = `re-dg-expander-${DataGrid.nextAriaId++}`;
|
|
3475
|
-
stickyRowIndex = signal(null, ...(ngDevMode ? [{ debugName: "stickyRowIndex" }] : []));
|
|
3476
|
-
stickyRowTopPx = signal(0, ...(ngDevMode ? [{ debugName: "stickyRowTopPx" }] : []));
|
|
3487
|
+
stickyRowIndex = signal(null, ...(ngDevMode ? [{ debugName: "stickyRowIndex" }] : /* istanbul ignore next */ []));
|
|
3488
|
+
stickyRowTopPx = signal(0, ...(ngDevMode ? [{ debugName: "stickyRowTopPx" }] : /* istanbul ignore next */ []));
|
|
3477
3489
|
stickyRowData = computed(() => {
|
|
3478
3490
|
const index = this.stickyRowIndex();
|
|
3479
3491
|
if (index === null || index < 0 || index >= this.totalRowCount()) {
|
|
3480
3492
|
return null;
|
|
3481
3493
|
}
|
|
3482
3494
|
return this.rowAt(index);
|
|
3483
|
-
}, ...(ngDevMode ? [{ debugName: "stickyRowData" }] : []));
|
|
3484
|
-
stickyIndexes = signal([], ...(ngDevMode ? [{ debugName: "stickyIndexes" }] : []));
|
|
3485
|
-
contentInitialized = signal(false, ...(ngDevMode ? [{ debugName: "contentInitialized" }] : []));
|
|
3486
|
-
isColumnResizing = signal(false, ...(ngDevMode ? [{ debugName: "isColumnResizing" }] : []));
|
|
3487
|
-
expanderMap = signal(new Map(), ...(ngDevMode ? [{ debugName: "expanderMap" }] : []));
|
|
3495
|
+
}, ...(ngDevMode ? [{ debugName: "stickyRowData" }] : /* istanbul ignore next */ []));
|
|
3496
|
+
stickyIndexes = signal([], ...(ngDevMode ? [{ debugName: "stickyIndexes" }] : /* istanbul ignore next */ []));
|
|
3497
|
+
contentInitialized = signal(false, ...(ngDevMode ? [{ debugName: "contentInitialized" }] : /* istanbul ignore next */ []));
|
|
3498
|
+
isColumnResizing = signal(false, ...(ngDevMode ? [{ debugName: "isColumnResizing" }] : /* istanbul ignore next */ []));
|
|
3499
|
+
expanderMap = signal(new Map(), ...(ngDevMode ? [{ debugName: "expanderMap" }] : /* istanbul ignore next */ []));
|
|
3488
3500
|
declarativeColumns = computed(() => {
|
|
3489
3501
|
if (!this.contentInitialized()) {
|
|
3490
3502
|
return normalizeDeclarativeColumns([], this.rowKey());
|
|
3491
3503
|
}
|
|
3492
3504
|
return normalizeDeclarativeColumns(this.declarativeColumnRefs().map((columnRef) => columnRef.toDeclarativeColumn()), this.rowKey());
|
|
3493
|
-
}, ...(ngDevMode ? [{ debugName: "declarativeColumns" }] : []));
|
|
3494
|
-
sourceColumns = computed(() => mergeDeclarativeColumns(this.declarativeColumns().columns, this.columns()), ...(ngDevMode ? [{ debugName: "sourceColumns" }] : []));
|
|
3505
|
+
}, ...(ngDevMode ? [{ debugName: "declarativeColumns" }] : /* istanbul ignore next */ []));
|
|
3506
|
+
sourceColumns = computed(() => mergeDeclarativeColumns(this.declarativeColumns().columns, this.columns()), ...(ngDevMode ? [{ debugName: "sourceColumns" }] : /* istanbul ignore next */ []));
|
|
3495
3507
|
slotsFeature = createGridSlotsFeature({
|
|
3496
3508
|
clearTypeTemplates: () => this.vm.globalTypeCellTpls.clear(),
|
|
3497
3509
|
clearDataTemplates: () => this.vm.globalDataCellTpls.clear(),
|
|
@@ -3517,7 +3529,7 @@ class DataGrid {
|
|
|
3517
3529
|
resizable: this.defaults.resizable,
|
|
3518
3530
|
});
|
|
3519
3531
|
return [...newColumns, ...this.sourceColumns()];
|
|
3520
|
-
}, ...(ngDevMode ? [{ debugName: "extendedColumns" }] : []));
|
|
3532
|
+
}, ...(ngDevMode ? [{ debugName: "extendedColumns" }] : /* istanbul ignore next */ []));
|
|
3521
3533
|
/**
|
|
3522
3534
|
* Computed CSS height value based on height setting.
|
|
3523
3535
|
*/
|
|
@@ -3530,13 +3542,13 @@ class DataGrid {
|
|
|
3530
3542
|
return '100%';
|
|
3531
3543
|
}
|
|
3532
3544
|
return 'var(--re-data-grid-height)';
|
|
3533
|
-
}, ...(ngDevMode ? [{ debugName: "styleHeight" }] : []));
|
|
3534
|
-
resolvedLoading = computed(() => this.sourceDataFeature.resolvedLoading(), ...(ngDevMode ? [{ debugName: "resolvedLoading" }] : []));
|
|
3535
|
-
totalRowCount = computed(() => this.sourceDataFeature.totalRowCount(), ...(ngDevMode ? [{ debugName: "totalRowCount" }] : []));
|
|
3536
|
-
selectionRows = computed(() => this.sourceDataFeature.selectionRows(), ...(ngDevMode ? [{ debugName: "selectionRows" }] : []));
|
|
3537
|
-
ariaColCount = computed(() => this.vm.columnsToShow().length, ...(ngDevMode ? [{ debugName: "ariaColCount" }] : []));
|
|
3538
|
-
ariaHeaderRowCount = computed(() => 1 + (this.vm.normalizedHeaderGroups().length ? 1 : 0), ...(ngDevMode ? [{ debugName: "ariaHeaderRowCount" }] : []));
|
|
3539
|
-
ariaRowCount = computed(() => this.ariaHeaderRowCount() + this.vm.pinnedTop().length + this.totalRowCount() + this.vm.pinnedBottom().length, ...(ngDevMode ? [{ debugName: "ariaRowCount" }] : []));
|
|
3545
|
+
}, ...(ngDevMode ? [{ debugName: "styleHeight" }] : /* istanbul ignore next */ []));
|
|
3546
|
+
resolvedLoading = computed(() => this.sourceDataFeature.resolvedLoading(), ...(ngDevMode ? [{ debugName: "resolvedLoading" }] : /* istanbul ignore next */ []));
|
|
3547
|
+
totalRowCount = computed(() => this.sourceDataFeature.totalRowCount(), ...(ngDevMode ? [{ debugName: "totalRowCount" }] : /* istanbul ignore next */ []));
|
|
3548
|
+
selectionRows = computed(() => this.sourceDataFeature.selectionRows(), ...(ngDevMode ? [{ debugName: "selectionRows" }] : /* istanbul ignore next */ []));
|
|
3549
|
+
ariaColCount = computed(() => this.vm.columnsToShow().length, ...(ngDevMode ? [{ debugName: "ariaColCount" }] : /* istanbul ignore next */ []));
|
|
3550
|
+
ariaHeaderRowCount = computed(() => 1 + (this.vm.normalizedHeaderGroups().length ? 1 : 0), ...(ngDevMode ? [{ debugName: "ariaHeaderRowCount" }] : /* istanbul ignore next */ []));
|
|
3551
|
+
ariaRowCount = computed(() => this.ariaHeaderRowCount() + this.vm.pinnedTop().length + this.totalRowCount() + this.vm.pinnedBottom().length, ...(ngDevMode ? [{ debugName: "ariaRowCount" }] : /* istanbul ignore next */ []));
|
|
3540
3552
|
hideSbTimeout;
|
|
3541
3553
|
scrollbarRafId = null;
|
|
3542
3554
|
stickyRafId = null;
|
|
@@ -4051,7 +4063,7 @@ class DataGrid {
|
|
|
4051
4063
|
if (this.overlayScrollFeaturePromise) {
|
|
4052
4064
|
return this.overlayScrollFeaturePromise;
|
|
4053
4065
|
}
|
|
4054
|
-
this.overlayScrollFeaturePromise = import('./reforgium-data-grid-grid-overlay-scroll.feature-
|
|
4066
|
+
this.overlayScrollFeaturePromise = import('./reforgium-data-grid-grid-overlay-scroll.feature-BmB4qWr3.mjs').then(({ createGridOverlayScrollFeature }) => {
|
|
4055
4067
|
const feature = createGridOverlayScrollFeature({
|
|
4056
4068
|
getScrollElement: () => this.scrollEl()?.nativeElement ?? null,
|
|
4057
4069
|
getThumbTop: () => this.vm.thumbTopPx(),
|
|
@@ -4176,4 +4188,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
4176
4188
|
*/
|
|
4177
4189
|
|
|
4178
4190
|
export { DataGridTypeCellTemplateDirective as D, clampThumbTop as a, DataGridCellTemplateDirective as b, computeScrollbarState as c, DataGridHeaderTemplateDirective as d, DataGridRowDirective as e, DataGridDeclarativeColumn as f, DataGridDeclarativeHeaderDirective as g, DataGridDeclarativeCellDirective as h, DataGridCellEmptyDirective as i, DataGridCellLoadingDirective as j, DataGridStickyRowDirective as k, DataGridSortIconDirective as l, mapThumbTopToScrollTop as m, DataGridExpanderIconDirective as n, DATA_GRID_CONFIG as o, DATA_GRID_HEADER_TEXT_RESOLVER as p, DATA_GRID_TYPE_RENDERERS as q, DATA_GRID_TYPE_TRANSFORMERS as r, DEFAULT_DATA_GRID_DEFAULTS as s, provideDataGridDefaults as t, provideDataGridHeaderTextResolver as u, provideDataGridHeaderTextResolverWithParent as v, provideDataGridTypeRenderers as w, provideDataGridTypeTransformers as x, DataGrid as y };
|
|
4179
|
-
//# sourceMappingURL=reforgium-data-grid-reforgium-data-grid-
|
|
4191
|
+
//# sourceMappingURL=reforgium-data-grid-reforgium-data-grid-3n5k89Qx.mjs.map
|
|
@@ -4,17 +4,17 @@ import { input, output, viewChild, signal, computed, Component } from '@angular/
|
|
|
4
4
|
|
|
5
5
|
// noinspection CssUnresolvedCustomProperty
|
|
6
6
|
class DataGridDropdown {
|
|
7
|
-
options = input([], ...(ngDevMode ? [{ debugName: "options" }] : []));
|
|
8
|
-
value = input(null, ...(ngDevMode ? [{ debugName: "value" }] : []));
|
|
9
|
-
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
10
|
-
placeholder = input('Select', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
|
|
7
|
+
options = input([], ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
|
|
8
|
+
value = input(null, ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
9
|
+
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
10
|
+
placeholder = input('Select', ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
|
|
11
11
|
selectValue = output();
|
|
12
|
-
root = viewChild('root', ...(ngDevMode ? [{ debugName: "root" }] : []));
|
|
13
|
-
opened = signal(false, ...(ngDevMode ? [{ debugName: "opened" }] : []));
|
|
12
|
+
root = viewChild('root', ...(ngDevMode ? [{ debugName: "root" }] : /* istanbul ignore next */ []));
|
|
13
|
+
opened = signal(false, ...(ngDevMode ? [{ debugName: "opened" }] : /* istanbul ignore next */ []));
|
|
14
14
|
selectedLabel = computed(() => {
|
|
15
15
|
const selected = this.options().find((option) => option.value === this.value());
|
|
16
16
|
return selected?.label ?? this.placeholder();
|
|
17
|
-
}, ...(ngDevMode ? [{ debugName: "selectedLabel" }] : []));
|
|
17
|
+
}, ...(ngDevMode ? [{ debugName: "selectedLabel" }] : /* istanbul ignore next */ []));
|
|
18
18
|
toggleOpen() {
|
|
19
19
|
if (this.disabled()) {
|
|
20
20
|
return;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { o as DATA_GRID_CONFIG, p as DATA_GRID_HEADER_TEXT_RESOLVER, q as DATA_GRID_TYPE_RENDERERS, r as DATA_GRID_TYPE_TRANSFORMERS, s as DEFAULT_DATA_GRID_DEFAULTS, y as DataGrid, i as DataGridCellEmptyDirective, j as DataGridCellLoadingDirective, b as DataGridCellTemplateDirective, h as DataGridDeclarativeCellDirective, f as DataGridDeclarativeColumn, g as DataGridDeclarativeHeaderDirective, n as DataGridExpanderIconDirective, d as DataGridHeaderTemplateDirective, e as DataGridRowDirective, l as DataGridSortIconDirective, k as DataGridStickyRowDirective, D as DataGridTypeCellTemplateDirective, t as provideDataGridDefaults, u as provideDataGridHeaderTextResolver, v as provideDataGridHeaderTextResolverWithParent, w as provideDataGridTypeRenderers, x as provideDataGridTypeTransformers } from './reforgium-data-grid-reforgium-data-grid-
|
|
1
|
+
export { o as DATA_GRID_CONFIG, p as DATA_GRID_HEADER_TEXT_RESOLVER, q as DATA_GRID_TYPE_RENDERERS, r as DATA_GRID_TYPE_TRANSFORMERS, s as DEFAULT_DATA_GRID_DEFAULTS, y as DataGrid, i as DataGridCellEmptyDirective, j as DataGridCellLoadingDirective, b as DataGridCellTemplateDirective, h as DataGridDeclarativeCellDirective, f as DataGridDeclarativeColumn, g as DataGridDeclarativeHeaderDirective, n as DataGridExpanderIconDirective, d as DataGridHeaderTemplateDirective, e as DataGridRowDirective, l as DataGridSortIconDirective, k as DataGridStickyRowDirective, D as DataGridTypeCellTemplateDirective, t as provideDataGridDefaults, u as provideDataGridHeaderTextResolver, v as provideDataGridHeaderTextResolverWithParent, w as provideDataGridTypeRenderers, x as provideDataGridTypeTransformers } from './reforgium-data-grid-reforgium-data-grid-3n5k89Qx.mjs';
|
|
2
2
|
//# sourceMappingURL=reforgium-data-grid.mjs.map
|
package/package.json
CHANGED
|
@@ -1763,5 +1763,5 @@ declare class DataGrid<Data extends AnyDict> {
|
|
|
1763
1763
|
}
|
|
1764
1764
|
|
|
1765
1765
|
export { DATA_GRID_CONFIG, DATA_GRID_HEADER_TEXT_RESOLVER, DATA_GRID_TYPE_RENDERERS, DATA_GRID_TYPE_TRANSFORMERS, DEFAULT_DATA_GRID_DEFAULTS, DataGrid, DataGridCellEmptyDirective, DataGridCellLoadingDirective, DataGridCellTemplateDirective, DataGridDeclarativeCellDirective, DataGridDeclarativeColumn, DataGridDeclarativeHeaderDirective, DataGridExpanderIconDirective, DataGridHeaderTemplateDirective, DataGridRowDirective, DataGridSortIconDirective, DataGridStickyRowDirective, DataGridTypeCellTemplateDirective, provideDataGridDefaults, provideDataGridHeaderTextResolver, provideDataGridHeaderTextResolverWithParent, provideDataGridTypeRenderers, provideDataGridTypeTransformers };
|
|
1766
|
-
export type { BaseGridColumn, DataGridConfigProvider, DataGridHeaderTextContext, DataGridHeaderTextResolver, DataGridRowTemplateContext, DataGridStickyRowTemplateContext, DataGridTypeRenderers, DataGridTypeTransformers, DeclarativeColumnDef, GridBuiltInCellType, GridCellAlign, GridCellClickEvent, GridCellContextEvent, GridCellDoubleClickEvent, GridCellRenderer, GridCellRendererType, GridCellTransformer, GridCellTransformerContext, GridCellValueContext, GridColumn, GridColumnResizeEndEvent, GridColumnTooltip, GridColumns, GridHeaderGroup, GridMultiSortEvent, GridPageChangeEvent, GridPagedDataSource, GridPaginationMode, GridPinnedPosition, GridPinnedRow, GridPinnedRows, GridRowClickEvent, GridRowContextEvent, GridRowDoubleClickEvent, GridSelectEvent, GridSelectMode, GridSelection, GridSortEvent, GridSortItem, GridSortMode, GridSortOrder, GridStickySide, GridTooltipContext, HeaderTemplateData, RenderTemplateData };
|
|
1766
|
+
export type { BaseGridColumn, DataGridConfigProvider, DataGridHeaderTextContext, DataGridHeaderTextResolver, DataGridRowTemplateContext, DataGridStickyRowTemplateContext, DataGridTypeRenderers, DataGridTypeTransformers, DeclarativeColumnDef, GridBuiltInCellType, GridCellAlign, GridCellClickEvent, GridCellContextEvent, GridCellDoubleClickEvent, GridCellRenderer, GridCellRendererType, GridCellTransformer, GridCellTransformerContext, GridCellValueContext, GridColumn, GridColumnResizeEndEvent, GridColumnTooltip, GridColumns, GridHeaderGroup, GridMultiSortEvent, GridPageChangeEvent, GridPagedDataSource, GridPaginationMode, GridPinnedPosition, GridPinnedRow, GridPinnedRows, GridRowClickEvent, GridRowContextEvent, GridRowDoubleClickEvent, GridSelectEvent, GridSelectMode, GridSelection, GridSortEvent, GridSortItem, GridSortMode, GridSortOrder, GridStickySide, GridTooltipContext, HeaderTemplateData, KeyResolver, RenderTemplateData };
|
|
1767
1767
|
//# sourceMappingURL=reforgium-data-grid.d.ts.map
|