@ai-matrx/records-ui 0.63.0 → 0.65.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 +62 -0
- package/dist/index.cjs +325 -294
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +97 -10
- package/dist/index.d.ts +97 -10
- package/dist/index.js +319 -282
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,67 @@
|
|
|
1
1
|
# Changelog — @ai-matrx/records-ui
|
|
2
2
|
|
|
3
|
+
## 0.65.0
|
|
4
|
+
|
|
5
|
+
**A condition about a relation column stops asking a person to type a uuid.**
|
|
6
|
+
(lane RELATION-DISPLAY-2.)
|
|
7
|
+
|
|
8
|
+
* **`ConditionField` carried no type, so the ONE condition builder could not know a
|
|
9
|
+
column points at another record.** It drew the same plain text box every other
|
|
10
|
+
clause gets — and a relation's stored value is the other record's id (FLD-6 /
|
|
11
|
+
REL-1), so the only way to write a true clause was to find and TYPE a uuid. The
|
|
12
|
+
dispatcher's actual house rule, *"a job for Harborview Property Group cannot
|
|
13
|
+
leave Scheduled without a purchase order"*, was unwritable by exactly the person
|
|
14
|
+
the builder exists for. A box that accepts anything and can only produce a rule
|
|
15
|
+
matching nothing is law 4's dead control.
|
|
16
|
+
* `ConditionField` now carries an OPTIONAL `field`. When it is a relation, the value
|
|
17
|
+
control is **`RelationPicker`** — the same picker the cell uses, on the same
|
|
18
|
+
`relation_words_many` the cell reads — so a filter offers the column's own joined
|
|
19
|
+
words ("Harborview Property Group, Carpinteria") and writes the ID. A filter and
|
|
20
|
+
the column it filters can no longer disagree about what a record is called.
|
|
21
|
+
* It is asked for ONE record even when the column holds several: a clause compares
|
|
22
|
+
against one value, and a picker that let somebody choose three would write an
|
|
23
|
+
expression this row cannot draw back.
|
|
24
|
+
* Both callers in this package already held the whole `Field` and were throwing it
|
|
25
|
+
away one line before handing it over — `StageRules` and `FormBuilder`. In the form
|
|
26
|
+
builder this is the OWNER's screen; a stranger is still never asked a relation
|
|
27
|
+
question (`publicQuestions.ts` is untouched).
|
|
28
|
+
|
|
29
|
+
**Consumer action:** none — `field` is optional and a caller passing only
|
|
30
|
+
`{id, key, label}` gets exactly the old behaviour, which has its own clause. A host
|
|
31
|
+
that wants the picker passes the `Field` it already has.
|
|
32
|
+
|
|
33
|
+
*Numbered 0.65.0, not 0.64.0: a peer lane claimed 0.64.0 for the coercion primitive
|
|
34
|
+
while this work was in flight and tagged it first. Two lanes bumping one package in
|
|
35
|
+
one afternoon is the cost of a shared checkout; the fix is to move, never to take a
|
|
36
|
+
version somebody else's tag already names.*
|
|
37
|
+
|
|
38
|
+
## 0.64.0
|
|
39
|
+
|
|
40
|
+
**The paste and the editor stop owning their own opinion of a column, and the capture sheet
|
|
41
|
+
stops minting NaN.**
|
|
42
|
+
|
|
43
|
+
- **`editorKindFor` is `fieldKindFor`** (`@ai-matrx/records` 0.45.0) with this package's
|
|
44
|
+
kernel File/Person ids bound. The classifier body lived here and was the only one.
|
|
45
|
+
- **`valueFromPastedText` is one call to `coerceTypedAnswer`**, keeping this package's label
|
|
46
|
+
so a refusal names the column the way the grid's header does. Its 150-line body WAS the
|
|
47
|
+
coercion — and while it sat here, the public booking page was unbookable over any table
|
|
48
|
+
with a number field.
|
|
49
|
+
- **`ChoiceOptions`** is re-exported from the core instead of declared twice.
|
|
50
|
+
- **`CaptureRun`** used `Number(raw)`, which answers NaN for "about twelve" — and a NaN
|
|
51
|
+
becomes null on the wire, so a reading taken in a yard could silently record nothing. It
|
|
52
|
+
coerces through the one body now and KEEPS the typed text when the value is refused.
|
|
53
|
+
- **`ViewSwitcher`**'s calendar offer tested `kind === "datetime" || kind === "date"`. FLD-11
|
|
54
|
+
has no "date" kind; it compiled only because the old `EditorKind` union carried two words
|
|
55
|
+
nothing produced.
|
|
56
|
+
- **`BuildOrAsk`** (landed 0.63.x→here): "Ask an agent" is ABSENT when `mayBuild` is false —
|
|
57
|
+
asking an agent is the same act as building by hand, through the same doors.
|
|
58
|
+
- **One label map per enum** (`enumLabels.ts`): no panel keeps its own copy, and the
|
|
59
|
+
"Done"/"Finished" split between `ChecklistRunner` and `ActionInbox` is gone.
|
|
60
|
+
|
|
61
|
+
*Consumer action:* none. `EditorKind` is now an alias of `FieldKind`; a host that compared a
|
|
62
|
+
kind against `"date"` or `"boolean"` was comparing against a value the classifier never
|
|
63
|
+
returned.
|
|
64
|
+
|
|
3
65
|
## 0.63.0
|
|
4
66
|
|
|
5
67
|
**A relation cell finally SHOWS what its column was configured to show, and the
|