@praxisui/table 10.0.0-rc.25 → 10.0.0-rc.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -0
- package/ai/component-registry.json +19 -2
- package/fesm2022/praxisui-table-authoring.mjs +33 -1
- package/fesm2022/{praxisui-table-praxisui-table-B6XoXX5x.mjs → praxisui-table-praxisui-table-CosVmN5P.mjs} +2822 -229
- package/fesm2022/{praxisui-table-table-agentic-authoring-turn-flow-fgmem5JL.mjs → praxisui-table-table-agentic-authoring-turn-flow-CtHAHd7Y.mjs} +1 -1
- package/fesm2022/{praxisui-table-table-ai.adapter-ib4h1Xy5.mjs → praxisui-table-table-ai.adapter-DYY3eUYu.mjs} +1 -1
- package/fesm2022/praxisui-table.mjs +1 -1
- package/package.json +10 -10
- package/src/lib/praxis-table.json-api.md +10 -5
- package/types/praxisui-table.d.ts +149 -13
package/README.md
CHANGED
|
@@ -168,6 +168,21 @@ continuity after a page reload or destruction of the owning table. The backend r
|
|
|
168
168
|
the authority for every mutation and protected read.
|
|
169
169
|
|
|
170
170
|
|
|
171
|
+
BASIC selected-item, proposal, preview, execution and result GETs use the existing
|
|
172
|
+
`behavior.loading.requestTimeoutMs` policy, captured for each read (default 30000 ms).
|
|
173
|
+
Explicit 0 disables that deadline only when the host has another governed policy;
|
|
174
|
+
view teardown still cancels the transport. This is the Table loading policy, not a
|
|
175
|
+
new bulk timeout or the server unit deadline. Expiry releases local busy state and
|
|
176
|
+
permits an explicit protected retry with the same proposal/execution and cursor;
|
|
177
|
+
it neither declares a terminal execution nor proves that a mutation failed.
|
|
178
|
+
|
|
179
|
+
The table-owned pending work contains only already dispatched evaluation/confirmation
|
|
180
|
+
POSTs. Destroying a workflow cancels GET subscriptions and ignores stale callbacks;
|
|
181
|
+
remount reads the same retained intent under fresh authorization, without waiting on
|
|
182
|
+
an abandoned GET or repeating a POST. An uncertain pending POST remains in custody
|
|
183
|
+
and is awaited, with its original key. Context denial still hides all protected
|
|
184
|
+
projections, and recovery requires the complete fresh authorized read sequence.
|
|
185
|
+
|
|
171
186
|
This first visual cut does not offer DOMAIN_COMMAND, PER_ITEM_UPDATE, QUERY,
|
|
172
187
|
ASYNC, ATOMIC or durable jobs. The existing `bulk-partial` demo above uses its
|
|
173
188
|
older collection action contract and does not certify this new candidate flow.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-10-
|
|
3
|
+
"generatedAt": "2026-10-15T22:42:56.841Z",
|
|
4
4
|
"packageName": "@praxisui/table",
|
|
5
|
-
"packageVersion": "10.0.0-rc.
|
|
5
|
+
"packageVersion": "10.0.0-rc.27",
|
|
6
6
|
"sourceRegistry": "praxis-component-registry-ingestion",
|
|
7
7
|
"sourceRegistryVersion": "1.0.0",
|
|
8
8
|
"componentCount": 3,
|
|
@@ -8037,6 +8037,23 @@
|
|
|
8037
8037
|
"public": true,
|
|
8038
8038
|
"group": "data"
|
|
8039
8039
|
}
|
|
8040
|
+
},
|
|
8041
|
+
{
|
|
8042
|
+
"id": "queryContextChange",
|
|
8043
|
+
"label": "Query Context Change",
|
|
8044
|
+
"direction": "output",
|
|
8045
|
+
"semanticKind": "query-context",
|
|
8046
|
+
"schema": {
|
|
8047
|
+
"id": "PraxisDataQueryContext",
|
|
8048
|
+
"kind": "ts-type",
|
|
8049
|
+
"ref": "PraxisDataQueryContext"
|
|
8050
|
+
},
|
|
8051
|
+
"cardinality": "stream",
|
|
8052
|
+
"description": "Contexto de consulta atualizado apos reconciliacao ou limpeza de filtros editaveis na regiao unica de filtros da tabela.",
|
|
8053
|
+
"exposure": {
|
|
8054
|
+
"public": true,
|
|
8055
|
+
"group": "data"
|
|
8056
|
+
}
|
|
8040
8057
|
}
|
|
8041
8058
|
],
|
|
8042
8059
|
"runtimeProfiles": [
|
|
@@ -450,12 +450,44 @@ class TableDetailTreeDraft {
|
|
|
450
450
|
}
|
|
451
451
|
add(node, nested = false) {
|
|
452
452
|
const selected = this.selected()?.node;
|
|
453
|
-
const
|
|
453
|
+
const isCardLike = selected?.type === 'card' || (!selected?.type && Array.isArray(selected?.content));
|
|
454
|
+
const childKey = selected?.type === 'cardGrid'
|
|
455
|
+
? 'cards'
|
|
456
|
+
: (isCardLike || selected?.type === 'tab')
|
|
457
|
+
? 'content'
|
|
458
|
+
: 'items';
|
|
454
459
|
const parent = nested && selected ? selected : this.schema;
|
|
455
460
|
const key = nested && selected ? childKey : 'items';
|
|
456
461
|
if (!nested && this.schema.layout === 'tabs' && node.type !== 'tab') {
|
|
457
462
|
node = { type: 'tab', title: node.title || node.label || node.type, content: [node] };
|
|
458
463
|
}
|
|
464
|
+
else if (nested && selected?.type === 'cardGrid') {
|
|
465
|
+
if (node.type === 'cardGrid' && Array.isArray(node.cards) && node.cards.length > 0) {
|
|
466
|
+
node = structuredClone(node.cards[0]);
|
|
467
|
+
}
|
|
468
|
+
else if (node.type === 'card') {
|
|
469
|
+
node = {
|
|
470
|
+
...(node.id ? { id: node.id } : {}),
|
|
471
|
+
title: node.title ?? '',
|
|
472
|
+
...(node.subtitle !== undefined ? { subtitle: node.subtitle } : {}),
|
|
473
|
+
content: Array.isArray(node.content) && node.content.length
|
|
474
|
+
? node.content
|
|
475
|
+
: [{ type: 'text', text: node.title || 'Detalhe' }],
|
|
476
|
+
};
|
|
477
|
+
}
|
|
478
|
+
else if (!Array.isArray(node.content)) {
|
|
479
|
+
node = {
|
|
480
|
+
title: node.title || node.label || '',
|
|
481
|
+
content: [node],
|
|
482
|
+
};
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
else if (nested && (isCardLike || selected?.type === 'compose') && node.type === 'cardGrid' && Array.isArray(node.cards)) {
|
|
486
|
+
const firstCardContent = node.cards[0]?.content;
|
|
487
|
+
if (Array.isArray(firstCardContent) && firstCardContent.length > 0) {
|
|
488
|
+
node = structuredClone(firstCardContent[0]);
|
|
489
|
+
}
|
|
490
|
+
}
|
|
459
491
|
if (!Array.isArray(parent[key]))
|
|
460
492
|
parent[key] = [];
|
|
461
493
|
parent[key].push(node);
|