@seed-ship/mcp-ui-solid 4.0.3 → 4.0.5
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/dist/components/DataPreviewSection.cjs +95 -55
- package/dist/components/DataPreviewSection.cjs.map +1 -1
- package/dist/components/DataPreviewSection.d.ts +1 -9
- package/dist/components/DataPreviewSection.d.ts.map +1 -1
- package/dist/components/DataPreviewSection.js +97 -57
- package/dist/components/DataPreviewSection.js.map +1 -1
- package/dist/components/UIResourceRenderer.cjs +281 -181
- package/dist/components/UIResourceRenderer.cjs.map +1 -1
- package/dist/components/UIResourceRenderer.d.ts.map +1 -1
- package/dist/components/UIResourceRenderer.js +282 -182
- package/dist/components/UIResourceRenderer.js.map +1 -1
- package/dist/types/chat-bus.d.ts +7 -1
- package/dist/types/chat-bus.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/DataPreviewSection.tsx +64 -70
- package/src/components/UIResourceRenderer.tsx +108 -7
- package/src/types/chat-bus.ts +7 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-bus.d.ts","sourceRoot":"","sources":["../../src/types/chat-bus.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-bus.d.ts","sourceRoot":"","sources":["../../src/types/chat-bus.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,19 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* DataPreviewSection — paginated, sortable data table with export
|
|
3
|
-
* v4.0.
|
|
3
|
+
* v4.0.4: Full pagination spec (auto-activate, pageSize=0 disable, showPageInfo, onPageChange)
|
|
4
4
|
*
|
|
5
5
|
* @experimental
|
|
6
|
-
*
|
|
7
|
-
* Features:
|
|
8
|
-
* - Sortable columns (type-aware: number, string, date)
|
|
9
|
-
* - Column types (number right-aligned, string left-aligned)
|
|
10
|
-
* - Pagination (configurable page size)
|
|
11
|
-
* - CSV / JSON export buttons
|
|
12
|
-
* - Source attribution + freshness label
|
|
13
|
-
* - Number formatting (FR locale)
|
|
14
6
|
*/
|
|
15
7
|
|
|
16
|
-
import { createSignal, createMemo, For, Show } from 'solid-js'
|
|
8
|
+
import { createSignal, createMemo, createEffect, For, Show } from 'solid-js'
|
|
17
9
|
import type { DataPreviewContent, DataPreviewColumn } from '../types/chat-bus'
|
|
18
10
|
|
|
19
11
|
export interface DataPreviewSectionProps {
|
|
@@ -22,7 +14,8 @@ export interface DataPreviewSectionProps {
|
|
|
22
14
|
|
|
23
15
|
type SortDir = 'asc' | 'desc' | null
|
|
24
16
|
|
|
25
|
-
|
|
17
|
+
// ─── Formatting helpers ─────────────────────────────────────
|
|
18
|
+
|
|
26
19
|
function formatNumber(value: unknown, format?: string): string {
|
|
27
20
|
if (typeof value !== 'number' || !isFinite(value)) return String(value ?? '')
|
|
28
21
|
if (format === 'percent') return `${(value * 100).toFixed(1)}%`
|
|
@@ -31,26 +24,19 @@ function formatNumber(value: unknown, format?: string): string {
|
|
|
31
24
|
return value.toLocaleString('fr-FR', { maximumFractionDigits: 2 })
|
|
32
25
|
}
|
|
33
26
|
|
|
34
|
-
/** Format a cell value based on column type */
|
|
35
27
|
function formatCell(value: unknown, col: DataPreviewColumn): string {
|
|
36
28
|
if (value == null) return '\u2014'
|
|
37
29
|
if (col.type === 'number') return formatNumber(value, col.format)
|
|
38
30
|
if (col.type === 'date' && typeof value === 'string') {
|
|
39
|
-
try {
|
|
40
|
-
return new Date(value).toLocaleDateString('fr-FR')
|
|
41
|
-
} catch {
|
|
42
|
-
return value
|
|
43
|
-
}
|
|
31
|
+
try { return new Date(value).toLocaleDateString('fr-FR') } catch { return value }
|
|
44
32
|
}
|
|
45
33
|
return String(value)
|
|
46
34
|
}
|
|
47
35
|
|
|
48
|
-
/** Compare two values for sorting, type-aware */
|
|
49
36
|
function compareValues(a: unknown, b: unknown, type?: string): number {
|
|
50
37
|
if (a == null && b == null) return 0
|
|
51
38
|
if (a == null) return 1
|
|
52
39
|
if (b == null) return -1
|
|
53
|
-
|
|
54
40
|
if (type === 'number') {
|
|
55
41
|
const na = typeof a === 'number' ? a : Number(a)
|
|
56
42
|
const nb = typeof b === 'number' ? b : Number(b)
|
|
@@ -59,7 +45,6 @@ function compareValues(a: unknown, b: unknown, type?: string): number {
|
|
|
59
45
|
if (isNaN(nb)) return -1
|
|
60
46
|
return na - nb
|
|
61
47
|
}
|
|
62
|
-
|
|
63
48
|
if (type === 'date') {
|
|
64
49
|
const da = new Date(String(a)).getTime()
|
|
65
50
|
const db = new Date(String(b)).getTime()
|
|
@@ -68,11 +53,11 @@ function compareValues(a: unknown, b: unknown, type?: string): number {
|
|
|
68
53
|
if (isNaN(db)) return -1
|
|
69
54
|
return da - db
|
|
70
55
|
}
|
|
71
|
-
|
|
72
56
|
return String(a).localeCompare(String(b), 'fr', { sensitivity: 'base' })
|
|
73
57
|
}
|
|
74
58
|
|
|
75
|
-
|
|
59
|
+
// ─── Export helpers ─────────────────────────────────────────
|
|
60
|
+
|
|
76
61
|
function toCSV(columns: DataPreviewColumn[], rows: Record<string, unknown>[]): string {
|
|
77
62
|
const header = columns.map(c => `"${c.label.replace(/"/g, '""')}"`).join(';')
|
|
78
63
|
const body = rows.map(row =>
|
|
@@ -86,7 +71,6 @@ function toCSV(columns: DataPreviewColumn[], rows: Record<string, unknown>[]): s
|
|
|
86
71
|
return `${header}\n${body}`
|
|
87
72
|
}
|
|
88
73
|
|
|
89
|
-
/** Trigger browser download */
|
|
90
74
|
function downloadFile(content: string, filename: string, mimeType: string) {
|
|
91
75
|
const blob = new Blob([content], { type: mimeType })
|
|
92
76
|
const url = URL.createObjectURL(blob)
|
|
@@ -97,50 +81,51 @@ function downloadFile(content: string, filename: string, mimeType: string) {
|
|
|
97
81
|
URL.revokeObjectURL(url)
|
|
98
82
|
}
|
|
99
83
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
* Handles: direct DataPreviewContent, or wrapped in an extra layer.
|
|
103
|
-
*/
|
|
84
|
+
// ─── Content resolver ───────────────────────────────────────
|
|
85
|
+
|
|
104
86
|
function resolveContent(raw: unknown): DataPreviewContent | null {
|
|
105
87
|
if (!raw || typeof raw !== 'object') return null
|
|
106
88
|
const obj = raw as Record<string, unknown>
|
|
107
|
-
|
|
108
89
|
if (Array.isArray(obj.columns) && Array.isArray(obj.rows)) {
|
|
109
90
|
return obj as unknown as DataPreviewContent
|
|
110
91
|
}
|
|
111
|
-
|
|
112
92
|
if (obj.content && typeof obj.content === 'object') {
|
|
113
93
|
const inner = obj.content as Record<string, unknown>
|
|
114
94
|
if (Array.isArray(inner.columns) && Array.isArray(inner.rows)) {
|
|
115
95
|
return inner as unknown as DataPreviewContent
|
|
116
96
|
}
|
|
117
97
|
}
|
|
118
|
-
|
|
119
98
|
return null
|
|
120
99
|
}
|
|
121
100
|
|
|
101
|
+
// ─── Component ──────────────────────────────────────────────
|
|
102
|
+
|
|
122
103
|
export function DataPreviewSection(props: DataPreviewSectionProps) {
|
|
123
104
|
const content = createMemo(() => {
|
|
124
105
|
const resolved = resolveContent(props.content)
|
|
125
106
|
if (!resolved) {
|
|
126
|
-
console.warn(
|
|
127
|
-
'[MCP-UI] DataPreviewSection: invalid content — expected { columns: [...], rows: [...] }, got:',
|
|
128
|
-
props.content
|
|
129
|
-
)
|
|
107
|
+
console.warn('[MCP-UI] DataPreviewSection: invalid content — expected { columns, rows }', props.content)
|
|
130
108
|
}
|
|
131
109
|
return resolved
|
|
132
110
|
})
|
|
133
111
|
|
|
134
112
|
const columns = () => content()?.columns || []
|
|
135
113
|
const rawRows = () => content()?.rows || []
|
|
136
|
-
const
|
|
137
|
-
const
|
|
114
|
+
const pageSizeVal = () => content()?.pageSize ?? 25
|
|
115
|
+
const showPageInfo = () => content()?.showPageInfo !== false
|
|
116
|
+
|
|
117
|
+
const [page, setPage] = createSignal(content()?.initialPage ?? 0)
|
|
138
118
|
const [sortKey, setSortKey] = createSignal<string | null>(null)
|
|
139
119
|
const [sortDir, setSortDir] = createSignal<SortDir>(null)
|
|
140
120
|
|
|
121
|
+
// Notify parent on page change
|
|
122
|
+
createEffect(() => {
|
|
123
|
+
const p = page()
|
|
124
|
+
content()?.onPageChange?.(p)
|
|
125
|
+
})
|
|
126
|
+
|
|
141
127
|
const handleSort = (key: string) => {
|
|
142
128
|
if (sortKey() === key) {
|
|
143
|
-
// Cycle: asc → desc → reset
|
|
144
129
|
if (sortDir() === 'asc') setSortDir('desc')
|
|
145
130
|
else { setSortKey(null); setSortDir(null) }
|
|
146
131
|
} else {
|
|
@@ -155,34 +140,36 @@ export function DataPreviewSection(props: DataPreviewSectionProps) {
|
|
|
155
140
|
const key = sortKey()
|
|
156
141
|
const dir = sortDir()
|
|
157
142
|
if (!key || !dir) return r
|
|
158
|
-
|
|
159
143
|
const col = columns().find(c => c.key === key)
|
|
160
|
-
const type = col?.type
|
|
161
|
-
|
|
162
144
|
return [...r].sort((a, b) => {
|
|
163
|
-
const cmp = compareValues(a[key], b[key], type)
|
|
145
|
+
const cmp = compareValues(a[key], b[key], col?.type)
|
|
164
146
|
return dir === 'desc' ? -cmp : cmp
|
|
165
147
|
})
|
|
166
148
|
})
|
|
167
149
|
|
|
168
|
-
|
|
169
|
-
const
|
|
150
|
+
// Pagination: auto-enabled when rows > pageSize, disabled when pageSize=0
|
|
151
|
+
const isPaginated = () => pageSizeVal() > 0 && sortedRows().length > pageSizeVal()
|
|
152
|
+
const totalPages = () => isPaginated() ? Math.ceil(sortedRows().length / pageSizeVal()) : 1
|
|
170
153
|
|
|
171
|
-
const
|
|
172
|
-
|
|
173
|
-
|
|
154
|
+
const visibleRows = createMemo(() => {
|
|
155
|
+
if (!isPaginated()) return sortedRows()
|
|
156
|
+
const start = page() * pageSizeVal()
|
|
157
|
+
return sortedRows().slice(start, start + pageSizeVal())
|
|
174
158
|
})
|
|
175
159
|
|
|
160
|
+
const rangeStart = () => isPaginated() ? page() * pageSizeVal() + 1 : 1
|
|
161
|
+
const rangeEnd = () => isPaginated()
|
|
162
|
+
? Math.min((page() + 1) * pageSizeVal(), sortedRows().length)
|
|
163
|
+
: sortedRows().length
|
|
164
|
+
|
|
165
|
+
// Export ALL rows (not just page)
|
|
176
166
|
const handleExportCSV = () => {
|
|
177
167
|
const c = content()
|
|
178
168
|
if (!c) return
|
|
179
|
-
|
|
180
|
-
downloadFile(csv, 'data-export.csv', 'text/csv;charset=utf-8')
|
|
169
|
+
downloadFile(toCSV(c.columns, sortedRows()), 'data-export.csv', 'text/csv;charset=utf-8')
|
|
181
170
|
}
|
|
182
|
-
|
|
183
171
|
const handleExportJSON = () => {
|
|
184
|
-
|
|
185
|
-
downloadFile(json, 'data-export.json', 'application/json')
|
|
172
|
+
downloadFile(JSON.stringify(sortedRows(), null, 2), 'data-export.json', 'application/json')
|
|
186
173
|
}
|
|
187
174
|
|
|
188
175
|
const columnAlign = (col: DataPreviewColumn) => {
|
|
@@ -192,8 +179,8 @@ export function DataPreviewSection(props: DataPreviewSectionProps) {
|
|
|
192
179
|
}
|
|
193
180
|
|
|
194
181
|
const sortIndicator = (key: string) => {
|
|
195
|
-
if (sortKey() !== key) return '\u2195'
|
|
196
|
-
return sortDir() === 'asc' ? '\u2191' : '\u2193'
|
|
182
|
+
if (sortKey() !== key) return '\u2195'
|
|
183
|
+
return sortDir() === 'asc' ? '\u2191' : '\u2193'
|
|
197
184
|
}
|
|
198
185
|
|
|
199
186
|
return (
|
|
@@ -204,7 +191,7 @@ export function DataPreviewSection(props: DataPreviewSectionProps) {
|
|
|
204
191
|
}>
|
|
205
192
|
{(c) => (
|
|
206
193
|
<div class="data-preview-section">
|
|
207
|
-
{/* Header
|
|
194
|
+
{/* Header: source + export */}
|
|
208
195
|
<div class="flex items-center justify-between mb-2">
|
|
209
196
|
<div class="flex items-center gap-2 text-xs text-gray-500 dark:text-gray-400">
|
|
210
197
|
<Show when={c().source}>
|
|
@@ -216,20 +203,19 @@ export function DataPreviewSection(props: DataPreviewSectionProps) {
|
|
|
216
203
|
</span>
|
|
217
204
|
</Show>
|
|
218
205
|
</div>
|
|
219
|
-
|
|
220
206
|
<Show when={c().exportable !== false}>
|
|
221
207
|
<div class="flex items-center gap-1">
|
|
222
208
|
<button
|
|
223
209
|
class="px-2 py-1 text-xs rounded border border-gray-300 dark:border-gray-600 hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors"
|
|
224
210
|
onClick={handleExportCSV}
|
|
225
|
-
title=
|
|
211
|
+
title={`Export CSV (${sortedRows().length} rows)`}
|
|
226
212
|
>
|
|
227
213
|
CSV
|
|
228
214
|
</button>
|
|
229
215
|
<button
|
|
230
216
|
class="px-2 py-1 text-xs rounded border border-gray-300 dark:border-gray-600 hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors"
|
|
231
217
|
onClick={handleExportJSON}
|
|
232
|
-
title=
|
|
218
|
+
title={`Export JSON (${sortedRows().length} rows)`}
|
|
233
219
|
>
|
|
234
220
|
JSON
|
|
235
221
|
</button>
|
|
@@ -268,7 +254,7 @@ export function DataPreviewSection(props: DataPreviewSectionProps) {
|
|
|
268
254
|
</tr>
|
|
269
255
|
</thead>
|
|
270
256
|
<tbody>
|
|
271
|
-
<For each={
|
|
257
|
+
<For each={visibleRows()}>
|
|
272
258
|
{(row, i) => (
|
|
273
259
|
<tr
|
|
274
260
|
class="border-b border-gray-100 dark:border-gray-800 hover:bg-gray-50 dark:hover:bg-gray-800/50 transition-colors"
|
|
@@ -291,30 +277,38 @@ export function DataPreviewSection(props: DataPreviewSectionProps) {
|
|
|
291
277
|
</table>
|
|
292
278
|
</div>
|
|
293
279
|
|
|
294
|
-
{/* Footer: pagination +
|
|
280
|
+
{/* Footer: pagination + page info */}
|
|
295
281
|
<div class="flex items-center justify-between mt-2 text-xs text-gray-500 dark:text-gray-400">
|
|
296
|
-
<
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
282
|
+
<Show when={showPageInfo()}>
|
|
283
|
+
<span>
|
|
284
|
+
{isPaginated()
|
|
285
|
+
? `Showing ${rangeStart()}\u2013${rangeEnd()} of ${sortedRows().length.toLocaleString('fr-FR')}`
|
|
286
|
+
: `${sortedRows().length} row${sortedRows().length !== 1 ? 's' : ''}`
|
|
287
|
+
}
|
|
288
|
+
{c().totalRows && c().totalRows! > sortedRows().length
|
|
289
|
+
? ` (${c().totalRows!.toLocaleString('fr-FR')} total)`
|
|
290
|
+
: ''
|
|
291
|
+
}
|
|
292
|
+
</span>
|
|
293
|
+
</Show>
|
|
294
|
+
<Show when={!showPageInfo()}><span /></Show>
|
|
301
295
|
|
|
302
|
-
<Show when={
|
|
296
|
+
<Show when={isPaginated()}>
|
|
303
297
|
<div class="flex items-center gap-1">
|
|
304
298
|
<button
|
|
305
|
-
class="px-2 py-1 rounded hover:bg-gray-100 dark:hover:bg-gray-700 disabled:opacity-40 transition-colors"
|
|
299
|
+
class="px-2 py-1 rounded hover:bg-gray-100 dark:hover:bg-gray-700 disabled:opacity-40 disabled:cursor-not-allowed transition-colors"
|
|
306
300
|
disabled={page() === 0}
|
|
307
301
|
onClick={() => setPage(p => p - 1)}
|
|
308
302
|
>
|
|
309
|
-
|
|
303
|
+
◀ Prev
|
|
310
304
|
</button>
|
|
311
|
-
<span>{page() + 1} / {totalPages()}</span>
|
|
305
|
+
<span class="px-2">Page {page() + 1} / {totalPages()}</span>
|
|
312
306
|
<button
|
|
313
|
-
class="px-2 py-1 rounded hover:bg-gray-100 dark:hover:bg-gray-700 disabled:opacity-40 transition-colors"
|
|
307
|
+
class="px-2 py-1 rounded hover:bg-gray-100 dark:hover:bg-gray-700 disabled:opacity-40 disabled:cursor-not-allowed transition-colors"
|
|
314
308
|
disabled={page() >= totalPages() - 1}
|
|
315
309
|
onClick={() => setPage(p => p + 1)}
|
|
316
310
|
>
|
|
317
|
-
|
|
311
|
+
Next ▶
|
|
318
312
|
</button>
|
|
319
313
|
</div>
|
|
320
314
|
</Show>
|
|
@@ -330,12 +330,74 @@ function TableRenderer(props: {
|
|
|
330
330
|
const tableParams = props.component.params as any
|
|
331
331
|
let scrollContainerRef: HTMLDivElement | undefined
|
|
332
332
|
|
|
333
|
-
//
|
|
333
|
+
// ─── Client-side sorting (v4.0.5) ────────────────────────
|
|
334
|
+
const allRows = () => tableParams.rows || []
|
|
335
|
+
const columns = () => tableParams.columns || []
|
|
336
|
+
const [sortKey, setSortKey] = createSignal<string | null>(null)
|
|
337
|
+
const [sortDir, setSortDir] = createSignal<'asc' | 'desc' | null>(null)
|
|
338
|
+
|
|
339
|
+
const handleSort = (key: string) => {
|
|
340
|
+
if (sortKey() === key) {
|
|
341
|
+
if (sortDir() === 'asc') setSortDir('desc')
|
|
342
|
+
else { setSortKey(null); setSortDir(null) }
|
|
343
|
+
} else {
|
|
344
|
+
setSortKey(key)
|
|
345
|
+
setSortDir('asc')
|
|
346
|
+
}
|
|
347
|
+
setClientPage(0)
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
const sortedRows = createMemo(() => {
|
|
351
|
+
const r = allRows()
|
|
352
|
+
const key = sortKey()
|
|
353
|
+
const dir = sortDir()
|
|
354
|
+
if (!key || !dir) return r
|
|
355
|
+
const col = columns().find((c: any) => c.key === key)
|
|
356
|
+
const isNum = col?.type === 'number' || (r.length > 0 && typeof r[0]?.[key] === 'number')
|
|
357
|
+
return [...r].sort((a: any, b: any) => {
|
|
358
|
+
const va = a[key], vb = b[key]
|
|
359
|
+
if (va == null && vb == null) return 0
|
|
360
|
+
if (va == null) return 1
|
|
361
|
+
if (vb == null) return -1
|
|
362
|
+
let cmp: number
|
|
363
|
+
if (isNum) {
|
|
364
|
+
cmp = (Number(va) || 0) - (Number(vb) || 0)
|
|
365
|
+
} else {
|
|
366
|
+
cmp = String(va).localeCompare(String(vb), 'fr', { sensitivity: 'base' })
|
|
367
|
+
}
|
|
368
|
+
return dir === 'desc' ? -cmp : cmp
|
|
369
|
+
})
|
|
370
|
+
})
|
|
371
|
+
|
|
372
|
+
const sortIndicator = (key: string) => {
|
|
373
|
+
if (sortKey() !== key) return '\u2195'
|
|
374
|
+
return sortDir() === 'asc' ? '\u2191' : '\u2193'
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
// ─── Client-side pagination (v4.0.4) ─────────────────────
|
|
378
|
+
const clientPageSize = () => tableParams.pageSize ?? 25
|
|
379
|
+
const hasServerPagination = () => !!tableParams.pagination
|
|
380
|
+
const needsClientPagination = () =>
|
|
381
|
+
!hasServerPagination() && clientPageSize() > 0 && sortedRows().length > clientPageSize()
|
|
382
|
+
const [clientPage, setClientPage] = createSignal(tableParams.initialPage ?? 0)
|
|
383
|
+
const clientTotalPages = () => needsClientPagination() ? Math.ceil(sortedRows().length / clientPageSize()) : 1
|
|
384
|
+
const clientVisibleRows = createMemo(() => {
|
|
385
|
+
if (!needsClientPagination()) return sortedRows()
|
|
386
|
+
const start = clientPage() * clientPageSize()
|
|
387
|
+
return sortedRows().slice(start, start + clientPageSize())
|
|
388
|
+
})
|
|
389
|
+
const clientRangeStart = () => needsClientPagination() ? clientPage() * clientPageSize() + 1 : 1
|
|
390
|
+
const clientRangeEnd = () => needsClientPagination()
|
|
391
|
+
? Math.min((clientPage() + 1) * clientPageSize(), sortedRows().length)
|
|
392
|
+
: sortedRows().length
|
|
393
|
+
|
|
394
|
+
// ─── Virtualization ──────────────────────────────────────
|
|
334
395
|
const [virtualizer, setVirtualizer] = createSignal<any>(null)
|
|
335
396
|
const [isVirtualizing, setIsVirtualizing] = createSignal(false)
|
|
336
397
|
|
|
337
|
-
//
|
|
398
|
+
// Disable virtualization when client pagination is active (they conflict)
|
|
338
399
|
const shouldVirtualize = createMemo(() => {
|
|
400
|
+
if (needsClientPagination()) return false // pagination handles slicing
|
|
339
401
|
const opts = tableParams.virtualize
|
|
340
402
|
if (opts === false) return false
|
|
341
403
|
if (opts === true) return true
|
|
@@ -344,7 +406,6 @@ function TableRenderer(props: {
|
|
|
344
406
|
const threshold = opts.threshold ?? 100
|
|
345
407
|
return (tableParams.rows?.length ?? 0) > threshold
|
|
346
408
|
}
|
|
347
|
-
// Auto-enable if > 100 rows by default
|
|
348
409
|
return (tableParams.rows?.length ?? 0) > 100
|
|
349
410
|
})
|
|
350
411
|
|
|
@@ -464,10 +525,10 @@ function TableRenderer(props: {
|
|
|
464
525
|
|
|
465
526
|
const tableId = `table-${Math.random().toString(36).slice(2, 9)}`
|
|
466
527
|
|
|
467
|
-
// Standard table body (non-virtualized)
|
|
528
|
+
// Standard table body (non-virtualized) — uses client pagination when active
|
|
468
529
|
const StandardTableBody = () => (
|
|
469
530
|
<tbody class="bg-white dark:bg-gray-800 divide-y divide-gray-200 dark:divide-gray-700">
|
|
470
|
-
<For each={
|
|
531
|
+
<For each={clientVisibleRows().slice(0, DEFAULT_RESOURCE_LIMITS.maxTableRows)}>
|
|
471
532
|
{(row: any, i) => (
|
|
472
533
|
<tr class={`hover:bg-gray-50 dark:hover:bg-gray-700/50 transition-colors ${i() % 2 === 0 ? 'bg-white dark:bg-gray-800' : 'bg-gray-50/30 dark:bg-gray-800/50'}`}>
|
|
473
534
|
<For each={tableParams.columns}>
|
|
@@ -582,10 +643,23 @@ function TableRenderer(props: {
|
|
|
582
643
|
{(column: any) => (
|
|
583
644
|
<th
|
|
584
645
|
scope="col"
|
|
585
|
-
class="px-6 py-3 text-left text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider border-b border-gray-200 dark:border-gray-700 first:pl-6 last:pr-6 bg-gray-50 dark:bg-gray-900/50"
|
|
646
|
+
class="px-6 py-3 text-left text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider border-b border-gray-200 dark:border-gray-700 first:pl-6 last:pr-6 bg-gray-50 dark:bg-gray-900/50 cursor-pointer select-none hover:bg-gray-100 dark:hover:bg-gray-800/50 transition-colors"
|
|
586
647
|
style={column.width ? { width: column.width } : {}}
|
|
648
|
+
onClick={() => handleSort(column.key)}
|
|
649
|
+
title={`Sort by ${column.label}`}
|
|
587
650
|
>
|
|
588
|
-
|
|
651
|
+
<span class="inline-flex items-center gap-1">
|
|
652
|
+
{column.label}
|
|
653
|
+
<span
|
|
654
|
+
class="text-[10px] leading-none"
|
|
655
|
+
classList={{
|
|
656
|
+
'opacity-30': sortKey() !== column.key,
|
|
657
|
+
'opacity-100 text-blue-600 dark:text-blue-400': sortKey() === column.key,
|
|
658
|
+
}}
|
|
659
|
+
>
|
|
660
|
+
{sortIndicator(column.key)}
|
|
661
|
+
</span>
|
|
662
|
+
</span>
|
|
589
663
|
</th>
|
|
590
664
|
)}
|
|
591
665
|
</For>
|
|
@@ -597,6 +671,7 @@ function TableRenderer(props: {
|
|
|
597
671
|
</table>
|
|
598
672
|
</div>
|
|
599
673
|
|
|
674
|
+
{/* Server-side pagination (legacy) */}
|
|
600
675
|
<Show when={tableParams.pagination}>
|
|
601
676
|
<div class="mt-3 flex items-center justify-between text-xs text-gray-500 dark:text-gray-400">
|
|
602
677
|
<span>
|
|
@@ -609,6 +684,32 @@ function TableRenderer(props: {
|
|
|
609
684
|
</span>
|
|
610
685
|
</div>
|
|
611
686
|
</Show>
|
|
687
|
+
|
|
688
|
+
{/* Client-side auto-pagination (v4.0.4) */}
|
|
689
|
+
<Show when={needsClientPagination()}>
|
|
690
|
+
<div class="mt-3 flex items-center justify-between text-xs text-gray-500 dark:text-gray-400">
|
|
691
|
+
<span>
|
|
692
|
+
Showing {clientRangeStart()}–{clientRangeEnd()} of {allRows().length.toLocaleString('fr-FR')}
|
|
693
|
+
</span>
|
|
694
|
+
<div class="flex items-center gap-1">
|
|
695
|
+
<button
|
|
696
|
+
class="px-2 py-1 rounded hover:bg-gray-100 dark:hover:bg-gray-700 disabled:opacity-40 disabled:cursor-not-allowed transition-colors"
|
|
697
|
+
disabled={clientPage() === 0}
|
|
698
|
+
onClick={() => setClientPage(p => p - 1)}
|
|
699
|
+
>
|
|
700
|
+
◀ Prev
|
|
701
|
+
</button>
|
|
702
|
+
<span class="px-2">Page {clientPage() + 1} / {clientTotalPages()}</span>
|
|
703
|
+
<button
|
|
704
|
+
class="px-2 py-1 rounded hover:bg-gray-100 dark:hover:bg-gray-700 disabled:opacity-40 disabled:cursor-not-allowed transition-colors"
|
|
705
|
+
disabled={clientPage() >= clientTotalPages() - 1}
|
|
706
|
+
onClick={() => setClientPage(p => p + 1)}
|
|
707
|
+
>
|
|
708
|
+
Next ▶
|
|
709
|
+
</button>
|
|
710
|
+
</div>
|
|
711
|
+
</div>
|
|
712
|
+
</Show>
|
|
612
713
|
</div>
|
|
613
714
|
</div>
|
|
614
715
|
</ExpandableWrapper>
|
package/src/types/chat-bus.ts
CHANGED
|
@@ -514,8 +514,14 @@ export interface DataPreviewContent {
|
|
|
514
514
|
freshness?: string
|
|
515
515
|
/** Enable export buttons (CSV/JSON) */
|
|
516
516
|
exportable?: boolean
|
|
517
|
-
/** Rows per page (default: 25) */
|
|
517
|
+
/** Rows per page (default: 25). Set 0 to disable pagination. */
|
|
518
518
|
pageSize?: number
|
|
519
|
+
/** Initial page (0-indexed, default: 0) */
|
|
520
|
+
initialPage?: number
|
|
521
|
+
/** Show "Showing X-Y of Z" counter (default: true) */
|
|
522
|
+
showPageInfo?: boolean
|
|
523
|
+
/** Callback when page changes (for server-side pagination) */
|
|
524
|
+
onPageChange?: (page: number) => void
|
|
519
525
|
}
|
|
520
526
|
|
|
521
527
|
/** Content for map scratchpad section (v3.1.0) */
|