@ai-matrx/records-ui 0.61.0 → 0.63.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 +71 -0
- package/dist/index.cjs +3293 -3113
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +65 -2
- package/dist/index.d.ts +65 -2
- package/dist/index.js +2970 -2779
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,76 @@
|
|
|
1
1
|
# Changelog — @ai-matrx/records-ui
|
|
2
2
|
|
|
3
|
+
## 0.63.0
|
|
4
|
+
|
|
5
|
+
**A relation cell finally SHOWS what its column was configured to show, and the
|
|
6
|
+
six hand-rolled copies of "what is this id called" are gone — all six, by moving
|
|
7
|
+
the code, none by allowlisting.** (lane RELATION-DISPLAY-2.)
|
|
8
|
+
|
|
9
|
+
* **The display spec reached the store in 0.62.0 and no screen could read it.**
|
|
10
|
+
REL-DISP gave a relation column a `display` — which of the target's columns it
|
|
11
|
+
shows, in what order, joined by what — and shipped `ReferenceBuilder` to
|
|
12
|
+
configure it. But `labels.tsx`, which every grid, board, gallery, calendar and
|
|
13
|
+
peek cell reads through, resolved names ITSELF: 200 rows of the target Table
|
|
14
|
+
plus `tableList()` for its `title_field`. So a person could set Rincon
|
|
15
|
+
Plumbing's `jobs.customer` to read "first name + last name", press Save, and
|
|
16
|
+
the board would go on drawing "Maria Chen" for both of the Maria Chens. The
|
|
17
|
+
builder wrote a setting that nothing displayed.
|
|
18
|
+
`labels.tsx` now fetches NOTHING up front and asks `relation_words_many` for
|
|
19
|
+
the ids the page actually draws — one call per Field per tick, the store's one
|
|
20
|
+
resolver, this column's own spec, the visibility ladder asked BEFORE the name
|
|
21
|
+
is read, and no 200-row prefetch ceiling. Its own comment recorded the batch
|
|
22
|
+
door as missing ("there is still no batch door on the store"); REL-DISP built
|
|
23
|
+
it, so the per-id `record_read` lane is gone entirely.
|
|
24
|
+
* **`RelationPicker` offers the same words the cell shows.** It had the third
|
|
25
|
+
copy of the derivation, which is why a column configured to read "Maria Chen —
|
|
26
|
+
Rincon" still asked a person to choose between two identical "Maria Chen"s.
|
|
27
|
+
One `relation_words_many` now covers the offered rows AND the already-picked
|
|
28
|
+
ids, so what you pick from and what you read back can never disagree.
|
|
29
|
+
* **`recordNameIn` / `rowNameIn` — the one naming call for a record whose Table
|
|
30
|
+
you already hold.** `Grid` (the Talk action), `Peek` (the peek title),
|
|
31
|
+
`PortalsPanel`'s client picker and the host test bench were each writing
|
|
32
|
+
`recordName(row.document, table.title_field)` out by hand. That is not the
|
|
33
|
+
store's question — there is no id to resolve — but it is the same question
|
|
34
|
+
answered five times in four files, which is how a Table titled by `cname` read
|
|
35
|
+
"Untitled" on one screen and correctly on the next. It lives once now.
|
|
36
|
+
NOT a second resolver: hold an id, and the answer is still the store's.
|
|
37
|
+
* **`check:one-reference-builder` goes from a baseline of SIX to ZERO.** The
|
|
38
|
+
guard shipped saying out loud that allowlisting the six "would be the same lie
|
|
39
|
+
with extra steps". None was allowlisted. Proven red on a planted copy at
|
|
40
|
+
baseline 0, then green.
|
|
41
|
+
|
|
42
|
+
**Consumer action:** none for a host that only mounts these components — the
|
|
43
|
+
change is behind them. A host resolving a relation label itself should delete
|
|
44
|
+
that code and call `client.relationWordsMany`; one holding a Table and a
|
|
45
|
+
document should call `recordNameIn` / `rowNameIn`.
|
|
46
|
+
|
|
47
|
+
## 0.62.0
|
|
48
|
+
|
|
49
|
+
**THE ONE REFERENCE BUILDER.** (lane RELATION-DISPLAY.)
|
|
50
|
+
|
|
51
|
+
*Written after the fact by lane RELATION-DISPLAY-2 — 0.62.0 published with no
|
|
52
|
+
entry here, and a released version with no changelog row is a version nobody
|
|
53
|
+
downstream can read. Sourced from that lane's own progress note, not invented.*
|
|
54
|
+
|
|
55
|
+
* **`ReferenceBuilder` + `previewWords`** — the one place a reference to another
|
|
56
|
+
table is built. It asks, in the order a person thinks of it: which table →
|
|
57
|
+
what a record of it is called TODAY (its own reference column, SHOWN rather
|
|
58
|
+
than hidden) → only if they want it, which columns instead, in order, with a
|
|
59
|
+
separator → a preview on that table's REAL first rows. `FieldEditor`'s private
|
|
60
|
+
`TableToPointAt` is deleted and this stands in its place.
|
|
61
|
+
* **A relation is asked its questions when EDITING too.** That branch skipped
|
|
62
|
+
every existing column that was not a choice list, so there was nowhere to say
|
|
63
|
+
which columns a link should show — the one thing about an existing relation a
|
|
64
|
+
person most wants to change. The target stays locked there, because the panel
|
|
65
|
+
sends no `relation_target` in a patch and a picker that changed it would be a
|
|
66
|
+
control that silently does nothing.
|
|
67
|
+
* **`looksLikeId` and `WITHHELD_RECORD_LABEL` are exported at last** — they were
|
|
68
|
+
defined and unreachable, so a host could not agree with the package about what
|
|
69
|
+
a name is.
|
|
70
|
+
|
|
71
|
+
**Consumer action:** a surface that lets a person choose a column's target table
|
|
72
|
+
mounts `ReferenceBuilder` instead of building its own dropdown.
|
|
73
|
+
|
|
3
74
|
## 0.61.0
|
|
4
75
|
|
|
5
76
|
**A link to a board opens a board, and a cell that is still resolving says what
|