@tartaguti/ui-components 0.1.0 → 0.2.0
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 +6 -0
- package/custom-elements.json +456 -288
- package/dist/tt-data-table.d.ts +28 -1
- package/dist/tt-data-table.d.ts.map +1 -1
- package/dist/tt-data-table.js +279 -9
- package/dist/tt-data-table.js.map +1 -1
- package/package.json +1 -1
- package/vscode.html-custom-data.json +5 -1
package/dist/tt-data-table.d.ts
CHANGED
|
@@ -23,7 +23,9 @@ export interface SortState {
|
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* Working table: sorting, selection, row actions, sticky header, and
|
|
26
|
-
* loading and empty states.
|
|
26
|
+
* loading and empty states. With visible-rows it is virtualized: a box
|
|
27
|
+
* that many rows tall, holding only the rows in view, so ten thousand
|
|
28
|
+
* rows scroll as smoothly as ten.
|
|
27
29
|
*
|
|
28
30
|
* It owns nothing. Sort state and selection come in as properties and
|
|
29
31
|
* changes go out as events, so the page stays the single source of truth
|
|
@@ -45,6 +47,30 @@ export declare class TTDataTable extends LitElement {
|
|
|
45
47
|
emptyHeading: string;
|
|
46
48
|
emptyDescription: string;
|
|
47
49
|
clickableRows: boolean;
|
|
50
|
+
visibleRows: number;
|
|
51
|
+
private firstInView;
|
|
52
|
+
private rowHeight;
|
|
53
|
+
private headerHeight;
|
|
54
|
+
private columnWidths;
|
|
55
|
+
private widthUnit;
|
|
56
|
+
private wrap?;
|
|
57
|
+
private frame;
|
|
58
|
+
private resizeObserver?;
|
|
59
|
+
private wrapWidth;
|
|
60
|
+
private lastRange;
|
|
61
|
+
private get virtual();
|
|
62
|
+
/** The slice of rows in the page: the ones in view plus OVERSCAN each side. */
|
|
63
|
+
private get inPage();
|
|
64
|
+
connectedCallback(): void;
|
|
65
|
+
disconnectedCallback(): void;
|
|
66
|
+
firstUpdated(): void;
|
|
67
|
+
updated(): void;
|
|
68
|
+
private observeWidth;
|
|
69
|
+
private measureSoon;
|
|
70
|
+
private measure;
|
|
71
|
+
private handleScroll;
|
|
72
|
+
private syncToScroll;
|
|
73
|
+
private announceRange;
|
|
48
74
|
private get hasActions();
|
|
49
75
|
private get columnCount();
|
|
50
76
|
private get allSelected();
|
|
@@ -59,6 +85,7 @@ export declare class TTDataTable extends LitElement {
|
|
|
59
85
|
private renderHeader;
|
|
60
86
|
private renderLoading;
|
|
61
87
|
private renderRow;
|
|
88
|
+
private renderRows;
|
|
62
89
|
render(): TemplateResult<1>;
|
|
63
90
|
}
|
|
64
91
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tt-data-table.d.ts","sourceRoot":"","sources":["../src/tt-data-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"tt-data-table.d.ts","sourceRoot":"","sources":["../src/tt-data-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAK1C,OAAO,kBAAkB,CAAC;AAC1B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,cAAc,CAAC;AAExD,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG;IAG/C,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAExB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B;AAYD;;;;;;;;;;GAUG;AACH,qBACa,WAAY,SAAQ,UAAU;IACd,OAAO,EAAE,UAAU,EAAE,CAAM;IAE3B,IAAI,EAAE,OAAO,EAAE,CAAM;IAOpB,KAAK,SAAM;IAUvC,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,OAAO;IAMa,IAAI,CAAC,EAAE,SAAS,CAAC;IAEhB,UAAU,UAAS;IAErB,QAAQ,EAAE,MAAM,EAAE,CAAM;IAGE,UAAU,EAAE,UAAU,EAAE,CAAM;IAEtD,OAAO,UAAS;IAEU,WAAW,SAAK;IAEf,YAAY,SAAsB;IAE9B,gBAAgB,SAAM;IAGxB,aAAa,UAAS;IAWzB,WAAW,SAAK;IAG9D,OAAO,CAAC,WAAW,CAAK;IAExB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,YAAY,CAAK;IAWzB,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,SAAS,CAAmB;IAE7B,OAAO,CAAC,IAAI,CAAC,CAAc;IAE3C,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,SAAS,CAAM;IAEvB,OAAO,KAAK,OAAO,GAElB;IAED,+EAA+E;IAC/E,OAAO,KAAK,MAAM,GASjB;IAED,iBAAiB;IAMjB,oBAAoB;IAOpB,YAAY;IAIZ,OAAO;IAMP,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,OAAO;IA8Bf,OAAO,CAAC,YAAY,CAOlB;IAEF,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,aAAa;IAgBrB,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,KAAK,WAAW,GAItB;IAUD,OAAO,KAAK,WAAW,GAKtB;IAED,OAAO,KAAK,YAAY,GAKvB;IAED,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,YAAY;IAgBpB,MAAM,CAAC,MAAM,4BAmNX;IAEF,OAAO,CAAC,YAAY;IA2EpB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,SAAS;IAiEjB,OAAO,CAAC,UAAU;IAqBlB,MAAM;CAkDP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,WAAW,CAAC;KAC9B;CACF"}
|
package/dist/tt-data-table.js
CHANGED
|
@@ -5,17 +5,28 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { LitElement, html, css } from "lit";
|
|
8
|
-
import { customElement, property } from "lit/decorators.js";
|
|
8
|
+
import { customElement, property, query, state } from "lit/decorators.js";
|
|
9
9
|
import { ifDefined } from "lit/directives/if-defined.js";
|
|
10
|
+
import { repeat } from "lit/directives/repeat.js";
|
|
10
11
|
import "./tt-checkbox.js";
|
|
11
12
|
import "./tt-skeleton.js";
|
|
12
13
|
import "./tt-empty-state.js";
|
|
13
14
|
import "./tt-dropdown-menu.js";
|
|
14
15
|
import "./tt-icon.js";
|
|
15
16
|
import { srOnly } from "./sr-only.js";
|
|
17
|
+
/*
|
|
18
|
+
Rows kept in the page above and below the visible ones while
|
|
19
|
+
virtualized, so a fast scroll or a Tab to the next row lands on a row
|
|
20
|
+
that already exists instead of a blank.
|
|
21
|
+
*/
|
|
22
|
+
const OVERSCAN = 5;
|
|
23
|
+
/** A row's height before the first one is measured: the default density. */
|
|
24
|
+
const ROW_ESTIMATE = 49;
|
|
16
25
|
/**
|
|
17
26
|
* Working table: sorting, selection, row actions, sticky header, and
|
|
18
|
-
* loading and empty states.
|
|
27
|
+
* loading and empty states. With visible-rows it is virtualized: a box
|
|
28
|
+
* that many rows tall, holding only the rows in view, so ten thousand
|
|
29
|
+
* rows scroll as smoothly as ten.
|
|
19
30
|
*
|
|
20
31
|
* It owns nothing. Sort state and selection come in as properties and
|
|
21
32
|
* changes go out as events, so the page stays the single source of truth
|
|
@@ -43,6 +54,45 @@ let TTDataTable = class TTDataTable extends LitElement {
|
|
|
43
54
|
this.emptyDescription = "";
|
|
44
55
|
// Rows respond to clicks. Only set this when there is somewhere to go.
|
|
45
56
|
this.clickableRows = false;
|
|
57
|
+
/*
|
|
58
|
+
How many rows tall the table is, as a box that scrolls. Only the rows
|
|
59
|
+
in view (plus a few spare) exist in the page, so the cost of a scroll
|
|
60
|
+
stays the same at 10,000 rows as at 10. 0, the default, shows every
|
|
61
|
+
row as a plain table.
|
|
62
|
+
|
|
63
|
+
Virtualized rows need one height each, so their cells stay on one
|
|
64
|
+
line and long values end in an ellipsis.
|
|
65
|
+
*/
|
|
66
|
+
this.visibleRows = 0;
|
|
67
|
+
// The row at the top of the scroll box, from its scroll position.
|
|
68
|
+
this.firstInView = 0;
|
|
69
|
+
// Measured from the rendered page, so density, touch and themes all count.
|
|
70
|
+
this.rowHeight = 0;
|
|
71
|
+
this.headerHeight = 0;
|
|
72
|
+
/*
|
|
73
|
+
Column widths, measured once and then fixed. A table sizes columns
|
|
74
|
+
from the rows it holds, and a virtualized one holds different rows at
|
|
75
|
+
every scroll, so unfixed columns would jump sideways while scrolling.
|
|
76
|
+
|
|
77
|
+
A table that fits its box keeps them as shares (%), so it still fits
|
|
78
|
+
when the box narrows. One wider than its box keeps pixels and scrolls
|
|
79
|
+
sideways, as the plain table does, rather than squeezing every column
|
|
80
|
+
into an ellipsis on a phone.
|
|
81
|
+
*/
|
|
82
|
+
this.columnWidths = [];
|
|
83
|
+
this.widthUnit = "%";
|
|
84
|
+
this.frame = 0;
|
|
85
|
+
this.wrapWidth = 0;
|
|
86
|
+
this.lastRange = "";
|
|
87
|
+
this.handleScroll = () => {
|
|
88
|
+
if (!this.virtual || this.frame)
|
|
89
|
+
return;
|
|
90
|
+
this.frame = requestAnimationFrame(() => {
|
|
91
|
+
this.frame = 0;
|
|
92
|
+
this.syncToScroll();
|
|
93
|
+
this.announceRange();
|
|
94
|
+
});
|
|
95
|
+
};
|
|
46
96
|
}
|
|
47
97
|
/*
|
|
48
98
|
What a row's selection checkbox is called.
|
|
@@ -66,6 +116,124 @@ let TTDataTable = class TTDataTable extends LitElement {
|
|
|
66
116
|
const value = first ? row[first.key] : undefined;
|
|
67
117
|
return typeof value === "string" || typeof value === "number" ? String(value) : "";
|
|
68
118
|
}
|
|
119
|
+
get virtual() {
|
|
120
|
+
return this.visibleRows > 0 && !this.loading && this.rows.length > 0;
|
|
121
|
+
}
|
|
122
|
+
/** The slice of rows in the page: the ones in view plus OVERSCAN each side. */
|
|
123
|
+
get inPage() {
|
|
124
|
+
const count = this.rows.length;
|
|
125
|
+
if (!this.virtual)
|
|
126
|
+
return { start: 0, end: count };
|
|
127
|
+
// Clamped, because rows can shrink while the box is scrolled far down.
|
|
128
|
+
const first = Math.max(0, Math.min(this.firstInView, count - this.visibleRows));
|
|
129
|
+
return {
|
|
130
|
+
start: Math.max(0, first - OVERSCAN),
|
|
131
|
+
end: Math.min(count, first + this.visibleRows + OVERSCAN),
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
connectedCallback() {
|
|
135
|
+
super.connectedCallback();
|
|
136
|
+
// Measured again after the first render (firstUpdated) or a reconnect.
|
|
137
|
+
if (this.hasUpdated)
|
|
138
|
+
this.observeWidth();
|
|
139
|
+
}
|
|
140
|
+
disconnectedCallback() {
|
|
141
|
+
super.disconnectedCallback();
|
|
142
|
+
cancelAnimationFrame(this.frame);
|
|
143
|
+
this.frame = 0;
|
|
144
|
+
this.resizeObserver?.disconnect();
|
|
145
|
+
}
|
|
146
|
+
firstUpdated() {
|
|
147
|
+
this.observeWidth();
|
|
148
|
+
}
|
|
149
|
+
updated() {
|
|
150
|
+
if (this.virtual)
|
|
151
|
+
this.measureSoon();
|
|
152
|
+
else if (this.columnWidths.length > 0)
|
|
153
|
+
this.columnWidths = [];
|
|
154
|
+
}
|
|
155
|
+
/* A new width makes the fixed column widths wrong: measure them again. */
|
|
156
|
+
observeWidth() {
|
|
157
|
+
if (typeof ResizeObserver === "undefined" || !this.wrap)
|
|
158
|
+
return;
|
|
159
|
+
this.resizeObserver?.disconnect();
|
|
160
|
+
this.resizeObserver = new ResizeObserver(([entry]) => {
|
|
161
|
+
const width = Math.round(entry.contentRect.width);
|
|
162
|
+
if (width === this.wrapWidth)
|
|
163
|
+
return;
|
|
164
|
+
this.wrapWidth = width;
|
|
165
|
+
if (this.columnWidths.length > 0)
|
|
166
|
+
this.columnWidths = [];
|
|
167
|
+
});
|
|
168
|
+
this.resizeObserver.observe(this.wrap);
|
|
169
|
+
}
|
|
170
|
+
/*
|
|
171
|
+
Measuring happens a frame after rendering, never inside updated():
|
|
172
|
+
each measurement can change state, and a change during an update
|
|
173
|
+
would schedule another update straight away.
|
|
174
|
+
*/
|
|
175
|
+
measureSoon() {
|
|
176
|
+
if (this.frame)
|
|
177
|
+
return;
|
|
178
|
+
this.frame = requestAnimationFrame(() => {
|
|
179
|
+
this.frame = 0;
|
|
180
|
+
this.measure();
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
measure() {
|
|
184
|
+
if (!this.virtual)
|
|
185
|
+
return;
|
|
186
|
+
const changed = (a, b) => Math.abs(a - b) > 0.5;
|
|
187
|
+
const row = this.renderRoot.querySelector("tbody tr.row");
|
|
188
|
+
const rowHeight = row?.getBoundingClientRect().height ?? 0;
|
|
189
|
+
if (rowHeight > 0 && changed(rowHeight, this.rowHeight))
|
|
190
|
+
this.rowHeight = rowHeight;
|
|
191
|
+
const header = this.renderRoot.querySelector("thead tr");
|
|
192
|
+
const headerHeight = header?.getBoundingClientRect().height ?? 0;
|
|
193
|
+
if (headerHeight > 0 && changed(headerHeight, this.headerHeight))
|
|
194
|
+
this.headerHeight = headerHeight;
|
|
195
|
+
if (this.columnWidths.length === 0) {
|
|
196
|
+
const widths = [...this.renderRoot.querySelectorAll("thead th")].map((cell) => cell.getBoundingClientRect().width);
|
|
197
|
+
const total = widths.reduce((sum, width) => sum + width, 0);
|
|
198
|
+
if (widths.length > 0 && widths.every((width) => width > 0)) {
|
|
199
|
+
const fits = total <= (this.wrap?.clientWidth ?? 0) + 1;
|
|
200
|
+
this.widthUnit = fits ? "%" : "px";
|
|
201
|
+
this.columnWidths = fits ? widths.map((width) => (width / total) * 100) : widths;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
// The scroll position can move without a scroll the table hears
|
|
205
|
+
// about: rows shrinking under it clamp it.
|
|
206
|
+
this.syncToScroll();
|
|
207
|
+
this.announceRange();
|
|
208
|
+
}
|
|
209
|
+
syncToScroll() {
|
|
210
|
+
if (!this.wrap)
|
|
211
|
+
return;
|
|
212
|
+
// Half a pixel of slack: scrollTop is rounded, rows are not, and 300
|
|
213
|
+
// rows down must not read as 299.
|
|
214
|
+
const first = Math.floor((this.wrap.scrollTop + 0.5) / (this.rowHeight || ROW_ESTIMATE));
|
|
215
|
+
if (first !== this.firstInView)
|
|
216
|
+
this.firstInView = first;
|
|
217
|
+
}
|
|
218
|
+
/*
|
|
219
|
+
Which rows are in view, as indexes into rows (end excluded), each time
|
|
220
|
+
that changes. Enough to fetch the next page from a server before the
|
|
221
|
+
person scrolls into it.
|
|
222
|
+
*/
|
|
223
|
+
announceRange() {
|
|
224
|
+
const count = this.rows.length;
|
|
225
|
+
const start = Math.max(0, Math.min(this.firstInView, count - this.visibleRows));
|
|
226
|
+
const end = Math.min(count, start + this.visibleRows);
|
|
227
|
+
const key = `${start}:${end}:${count}`;
|
|
228
|
+
if (key === this.lastRange)
|
|
229
|
+
return;
|
|
230
|
+
this.lastRange = key;
|
|
231
|
+
this.dispatchEvent(new CustomEvent("tt-range-change", {
|
|
232
|
+
detail: { start, end, total: count },
|
|
233
|
+
bubbles: true,
|
|
234
|
+
composed: true,
|
|
235
|
+
}));
|
|
236
|
+
}
|
|
69
237
|
get hasActions() {
|
|
70
238
|
return this.rowActions.length > 0;
|
|
71
239
|
}
|
|
@@ -329,12 +497,53 @@ let TTDataTable = class TTDataTable extends LitElement {
|
|
|
329
497
|
padding: var(--tt-space-6);
|
|
330
498
|
}
|
|
331
499
|
|
|
500
|
+
/* Virtualized: a box that scrolls on its own, and does not hand the
|
|
501
|
+
scroll on to the page when it reaches an end. */
|
|
502
|
+
.wrap.virtual {
|
|
503
|
+
overflow-y: auto;
|
|
504
|
+
overscroll-behavior: contain;
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
table.fixed {
|
|
508
|
+
table-layout: fixed;
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
/* One line per cell, so every row is the one height the window math
|
|
512
|
+
assumes. Data cells only: the checkbox and menu keep their focus
|
|
513
|
+
rings. */
|
|
514
|
+
.virtual td.cell {
|
|
515
|
+
overflow: hidden;
|
|
516
|
+
text-overflow: ellipsis;
|
|
517
|
+
white-space: nowrap;
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
tr.spacer td {
|
|
521
|
+
padding: 0;
|
|
522
|
+
border: 0;
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
/* Tighter sides on phones: a third column fits instead of scrolling. */
|
|
526
|
+
@media (max-width: 480px) {
|
|
527
|
+
thead th,
|
|
528
|
+
td {
|
|
529
|
+
padding-inline: var(--tt-space-3);
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
tr.spacer td {
|
|
533
|
+
padding: 0;
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
tbody tr.spacer:hover {
|
|
538
|
+
background: transparent;
|
|
539
|
+
}
|
|
540
|
+
|
|
332
541
|
`,
|
|
333
542
|
]; }
|
|
334
543
|
renderHeader() {
|
|
335
544
|
return html `
|
|
336
545
|
<thead>
|
|
337
|
-
<tr>
|
|
546
|
+
<tr aria-rowindex=${ifDefined(this.virtual ? 1 : undefined)}>
|
|
338
547
|
${this.selectable
|
|
339
548
|
? html `
|
|
340
549
|
<th class="select-cell">
|
|
@@ -413,13 +622,14 @@ let TTDataTable = class TTDataTable extends LitElement {
|
|
|
413
622
|
</tbody>
|
|
414
623
|
`;
|
|
415
624
|
}
|
|
416
|
-
renderRow(row) {
|
|
625
|
+
renderRow(row, index) {
|
|
417
626
|
const isSelected = this.selected.includes(row.id);
|
|
418
627
|
return html `
|
|
419
628
|
<tr
|
|
420
|
-
class="${this.clickableRows ? "clickable" : ""} ${isSelected
|
|
629
|
+
class="row ${this.clickableRows ? "clickable" : ""} ${isSelected
|
|
421
630
|
? "selected"
|
|
422
631
|
: ""}"
|
|
632
|
+
aria-rowindex=${ifDefined(this.virtual ? index + 2 : undefined)}
|
|
423
633
|
tabindex=${ifDefined(this.clickableRows ? 0 : undefined)}
|
|
424
634
|
@click=${() => this.clickRow(row)}
|
|
425
635
|
@keydown=${(e) => {
|
|
@@ -448,7 +658,7 @@ let TTDataTable = class TTDataTable extends LitElement {
|
|
|
448
658
|
`
|
|
449
659
|
: ""}
|
|
450
660
|
${this.columns.map((column) => html `
|
|
451
|
-
<td class
|
|
661
|
+
<td class="cell ${column.align === "end" ? "end" : ""}">
|
|
452
662
|
${row[column.key] ?? ""}
|
|
453
663
|
</td>
|
|
454
664
|
`)}
|
|
@@ -469,10 +679,49 @@ let TTDataTable = class TTDataTable extends LitElement {
|
|
|
469
679
|
</tr>
|
|
470
680
|
`;
|
|
471
681
|
}
|
|
682
|
+
/*
|
|
683
|
+
The rows in view, with a spacer row above and below standing in for
|
|
684
|
+
the rest, so the scrollbar is as long as the whole table. Keyed by id,
|
|
685
|
+
so a row keeps its element (and its focus, its open menu) while the
|
|
686
|
+
window slides over it.
|
|
687
|
+
*/
|
|
688
|
+
renderRows() {
|
|
689
|
+
const { start, end } = this.inPage;
|
|
690
|
+
const height = this.rowHeight || ROW_ESTIMATE;
|
|
691
|
+
const spacer = (rows) => rows > 0
|
|
692
|
+
? html `<tr class="spacer" aria-hidden="true" style="height: ${rows * height}px">
|
|
693
|
+
<td colspan=${this.columnCount}></td>
|
|
694
|
+
</tr>`
|
|
695
|
+
: "";
|
|
696
|
+
return html `
|
|
697
|
+
${spacer(start)}
|
|
698
|
+
${repeat(this.rows.slice(start, end), (row) => row.id, (row, offset) => this.renderRow(row, start + offset))}
|
|
699
|
+
${spacer(this.rows.length - end)}
|
|
700
|
+
`;
|
|
701
|
+
}
|
|
472
702
|
render() {
|
|
703
|
+
const virtual = this.virtual;
|
|
704
|
+
const fixed = virtual && this.columnWidths.length > 0;
|
|
705
|
+
// The header, the rows in view and the two borders of .wrap.
|
|
706
|
+
const boxHeight = (this.headerHeight || ROW_ESTIMATE) + this.visibleRows * (this.rowHeight || ROW_ESTIMATE) + 2;
|
|
473
707
|
return html `
|
|
474
|
-
<div
|
|
475
|
-
|
|
708
|
+
<div
|
|
709
|
+
class="wrap ${virtual ? "virtual" : ""}"
|
|
710
|
+
part="wrap"
|
|
711
|
+
style=${ifDefined(virtual ? `max-height: ${boxHeight}px` : undefined)}
|
|
712
|
+
@scroll=${this.handleScroll}
|
|
713
|
+
>
|
|
714
|
+
<table
|
|
715
|
+
part="table"
|
|
716
|
+
class=${fixed ? "fixed" : ""}
|
|
717
|
+
aria-label=${ifDefined(this.label || undefined)}
|
|
718
|
+
aria-rowcount=${ifDefined(virtual ? this.rows.length + 1 : undefined)}
|
|
719
|
+
>
|
|
720
|
+
${fixed
|
|
721
|
+
? html `<colgroup>
|
|
722
|
+
${this.columnWidths.map((width) => html `<col style="width: ${width}${this.widthUnit}" />`)}
|
|
723
|
+
</colgroup>`
|
|
724
|
+
: ""}
|
|
476
725
|
${this.renderHeader()}
|
|
477
726
|
${this.loading
|
|
478
727
|
? this.renderLoading()
|
|
@@ -491,7 +740,7 @@ let TTDataTable = class TTDataTable extends LitElement {
|
|
|
491
740
|
</td>
|
|
492
741
|
</tr>
|
|
493
742
|
`
|
|
494
|
-
: this.
|
|
743
|
+
: this.renderRows()}
|
|
495
744
|
</tbody>
|
|
496
745
|
`}
|
|
497
746
|
</table>
|
|
@@ -535,6 +784,27 @@ __decorate([
|
|
|
535
784
|
__decorate([
|
|
536
785
|
property({ type: Boolean, attribute: "clickable-rows" })
|
|
537
786
|
], TTDataTable.prototype, "clickableRows", void 0);
|
|
787
|
+
__decorate([
|
|
788
|
+
property({ type: Number, attribute: "visible-rows" })
|
|
789
|
+
], TTDataTable.prototype, "visibleRows", void 0);
|
|
790
|
+
__decorate([
|
|
791
|
+
state()
|
|
792
|
+
], TTDataTable.prototype, "firstInView", void 0);
|
|
793
|
+
__decorate([
|
|
794
|
+
state()
|
|
795
|
+
], TTDataTable.prototype, "rowHeight", void 0);
|
|
796
|
+
__decorate([
|
|
797
|
+
state()
|
|
798
|
+
], TTDataTable.prototype, "headerHeight", void 0);
|
|
799
|
+
__decorate([
|
|
800
|
+
state()
|
|
801
|
+
], TTDataTable.prototype, "columnWidths", void 0);
|
|
802
|
+
__decorate([
|
|
803
|
+
state()
|
|
804
|
+
], TTDataTable.prototype, "widthUnit", void 0);
|
|
805
|
+
__decorate([
|
|
806
|
+
query(".wrap")
|
|
807
|
+
], TTDataTable.prototype, "wrap", void 0);
|
|
538
808
|
TTDataTable = __decorate([
|
|
539
809
|
customElement("tt-data-table")
|
|
540
810
|
], TTDataTable);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tt-data-table.js","sourceRoot":"","sources":["../src/tt-data-table.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tt-data-table.js","sourceRoot":"","sources":["../src/tt-data-table.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -852,7 +852,7 @@
|
|
|
852
852
|
},
|
|
853
853
|
{
|
|
854
854
|
"name": "tt-data-table",
|
|
855
|
-
"description": "Working table: sorting, selection, row actions, sticky header, and\nloading and empty states.\n\nIt owns nothing. Sort state and selection come in as properties and\nchanges go out as events, so the page stays the single source of truth\nand can put either in a URL. Sorting itself is the page's job too: it\nknows whether the data is an in-memory array or a server query.\n\n**Events:** tt-selection-change, tt-sort, tt-row-click, tt-row-action",
|
|
855
|
+
"description": "Working table: sorting, selection, row actions, sticky header, and\nloading and empty states. With visible-rows it is virtualized: a box\nthat many rows tall, holding only the rows in view, so ten thousand\nrows scroll as smoothly as ten.\n\nIt owns nothing. Sort state and selection come in as properties and\nchanges go out as events, so the page stays the single source of truth\nand can put either in a URL. Sorting itself is the page's job too: it\nknows whether the data is an in-memory array or a server query.\n\n**Events:** tt-range-change, tt-selection-change, tt-sort, tt-row-click, tt-row-action",
|
|
856
856
|
"attributes": [
|
|
857
857
|
{
|
|
858
858
|
"name": "columns",
|
|
@@ -901,6 +901,10 @@
|
|
|
901
901
|
{
|
|
902
902
|
"name": "clickable-rows",
|
|
903
903
|
"description": "Type: `boolean`\n\nDefault: `false`\n\nOn `<tt-data-table>`"
|
|
904
|
+
},
|
|
905
|
+
{
|
|
906
|
+
"name": "visible-rows",
|
|
907
|
+
"description": "Type: `number`\n\nDefault: `0`\n\nOn `<tt-data-table>`"
|
|
904
908
|
}
|
|
905
909
|
]
|
|
906
910
|
},
|