Skip to content

Commit 7c82626

Browse files
authored
Merge branch 'main' into claude/issue-8347-baseschema-index-signature
2 parents 89c2138 + fd060f0 commit 7c82626

40 files changed

Lines changed: 1209 additions & 42 deletions
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
'@object-ui/i18n': minor
3+
---
4+
5+
All ten locale packs gain `view.noObject`, the hint an object-bound block shows
6+
when its node names its object in neither place (objectui#11605).
7+
8+
**Clause-②: yes (widening)** — a new key, `view.noObject`, in every pack. English
9+
reads "No object named: set {{property}} or dataSource.object.", the wording of
10+
`element.number.noObject` with the property as a hole; each translation is that
11+
key's own translation with the same hole. `{{property}}` is the block's object
12+
key, interpolated and never translated. No existing key changes.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
'@object-ui/plugin-charts': minor
3+
---
4+
5+
The `object-chart` and `view:chart` registrations no longer declare `objectName`
6+
required, so the page compile accepts a node whose `dataSource` binding names the
7+
object, and a chart that names its object in neither place shows a hint instead
8+
of an empty frame (objectui#11605).
9+
10+
`object-chart` has no spec row. The binding doc says a node bound by
11+
`dataSource.object` needs no `objectName` of its own, and the renderer agrees:
12+
`dataSource.object` lands on `objectName` before the chart reads the node. The
13+
registrations still declared `required: true`, and the page compile reads them,
14+
so a bound chart with no `objectName` of its own was refused with
15+
`missing-required-prop` and the save failed.
16+
17+
**Clause-②: yes (widening)** — an `object-chart` (or `view:chart`) node that
18+
names its object through `dataSource.object` and sets no `objectName` now
19+
compiles and saves. A node that names its object in neither place also compiles
20+
now, and the chart shows "No object named: set objectName or dataSource.object."
21+
where it used to draw an empty frame with no message. A chart with inline
22+
`data`, a `dataset` or a `bind` path shows no hint and renders as before. The
23+
published `objectName` inputs now carry a description that says the binding can
24+
supply them.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
'@object-ui/plugin-dashboard': minor
3+
---
4+
5+
The `object-metric` and `object-pivot` registrations no longer declare
6+
`objectName` required, so the page compile accepts a node whose `dataSource`
7+
binding names the object, and a node that names its object in neither place
8+
shows a hint instead of a value or an empty table (objectui#11605).
9+
10+
`@objectstack/spec`'s `object-metric` row leaves `objectName` optional, because
11+
the node's `dataSource` binding can supply it; `object-pivot` has no spec row,
12+
and the binding doc says a bound node needs no `objectName` of its own. Both
13+
renderers agree: `dataSource.object` lands on `objectName` before the block
14+
reads the node. The registrations still declared `required: true`, and the page
15+
compile reads them, so a bound node with no `objectName` of its own was refused
16+
with `missing-required-prop` and the save failed.
17+
18+
**Clause-②: yes (widening)** — an `object-metric` or `object-pivot` node that
19+
names its object through `dataSource.object` and sets no `objectName` now
20+
compiles and saves. A node that names its object in neither place also compiles
21+
now, and shows "No object named: set objectName or dataSource.object." where the
22+
metric used to draw a bare dash and the pivot an empty state saying its query
23+
returned no records. A metric with an authored `fallbackValue`, and a pivot with
24+
inline `data` or a `bind` path, show no hint and render as before.
25+
`object-data-table` is unchanged: it reads no binding, so its `objectName` stays
26+
required. The published `objectName` inputs now carry a description that says
27+
the binding can supply them.
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
'@object-ui/plugin-form': minor
3+
---
4+
5+
The `object-form`, `view:form`, `embeddable-form` and
6+
`object-master-detail-form` registrations no longer declare `objectName`
7+
required, so the page compile accepts a node whose `dataSource` binding names the
8+
object, and a form that names its object in neither place shows a hint instead of
9+
a form with no fields (objectui#11605).
10+
11+
`@objectstack/spec`'s `object-form` and `object-master-detail-form` rows leave
12+
`objectName` optional, because the node's `dataSource` binding can supply it;
13+
`embeddable-form` has no spec row, and the binding doc says a bound node needs no
14+
`objectName` of its own. Each renderer agrees: `dataSource.object` lands on
15+
`objectName` before the form reads the node. The registrations still declared
16+
`required: true`, and the page compile reads them, so a bound form with no
17+
`objectName` of its own was refused with `missing-required-prop` and the save
18+
failed.
19+
20+
**Clause-②: yes (widening)** — an `object-form`, `view:form`, `embeddable-form`
21+
or `object-master-detail-form` node that names its object through
22+
`dataSource.object` and sets no `objectName` now compiles and saves. A node that
23+
names its object in neither place also compiles now, and shows "No object named:
24+
set objectName or dataSource.object." where it used to draw a field-less card, a
25+
public form that could not submit, or an empty parent form. An `object-form`
26+
or `view:form` whose fields are declared inline shows no hint and renders as
27+
before: non-empty `customFields`, or `sections` whose every field is an inline
28+
field, the target-less collector the `tabbed`, `wizard`, `split`, `drawer` and
29+
`modal` variants render. `formId` on `embeddable-form` and `details` on
30+
`object-master-detail-form` are still required. The published `objectName`
31+
inputs now carry a description that says the binding can supply them.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
'@object-ui/plugin-grid': minor
3+
---
4+
5+
The `object-grid` and `view:grid` registrations no longer declare `objectName`
6+
required, so the page compile accepts a node whose `dataSource` binding names the
7+
object (objectui#11605).
8+
9+
`@objectstack/spec`'s `object-grid` row leaves `objectName` optional, because the
10+
node's `dataSource` binding can supply it, and the renderer agrees:
11+
`dataSource.object` lands on `objectName` before the grid reads the node. The
12+
registration still declared `required: true`, and the page compile reads the
13+
registration, so a bound node with no `objectName` of its own was refused with
14+
`missing-required-prop` and the save failed.
15+
16+
**Clause-②: yes (widening)** — an `object-grid` (or `view:grid`) node that names
17+
its object through `dataSource.object` and sets no `objectName` now compiles and
18+
saves. A node that names its object in neither place also compiles now; the grid
19+
answers it at runtime with its own "Object name required for data fetching"
20+
error, as it did before when such a node reached it. The published `objectName`
21+
input now carries a description that says the binding can supply it.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
'@object-ui/plugin-kanban': minor
3+
---
4+
5+
The `object-kanban` registration no longer declares `objectName` required, so
6+
the page compile accepts a board whose `dataSource` binding names the object, and
7+
a board that names its object in neither place shows a hint instead of an empty
8+
board (objectui#11605).
9+
10+
`@objectstack/spec`'s `object-kanban` row leaves `objectName` optional, because
11+
the node's `dataSource` binding can supply it, and the renderer agrees:
12+
`dataSource.object` lands on `objectName` before the board reads the node. The
13+
registration still declared `required: true`, and the page compile reads the
14+
registration, so a bound board with no `objectName` of its own was refused with
15+
`missing-required-prop` and the save failed.
16+
17+
**Clause-②: yes (widening)** — an `object-kanban` node that names its object
18+
through `dataSource.object` and sets no `objectName` now compiles and saves. A
19+
node that names its object in neither place also compiles now, and the board
20+
shows "No object named: set objectName or dataSource.object." where it used to
21+
draw an empty board reading "No cards". A board with rows from inline `data`
22+
(an empty array included), a `bind` path or a parent view shows no hint and
23+
renders as before. The published `objectName` input now carries a description
24+
that says the binding can supply it.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
'@object-ui/plugin-list': minor
3+
---
4+
5+
The `list-view` and `view:list` registrations no longer declare `objectName`
6+
required, so the page compile accepts a node whose `dataSource` binding names the
7+
object, and a list that names its object in neither place shows a hint instead of
8+
an empty list (objectui#11605).
9+
10+
`list-view` has no spec row. The binding doc says a node bound by
11+
`dataSource.object` needs no `objectName` of its own, and the schema validator
12+
counts the binding as a `list-view` record source. The renderer agrees:
13+
`dataSource.object` lands on `objectName` before the list reads the node. The
14+
registrations still declared `required: true`, and the page compile reads them,
15+
so a bound list with no `objectName` of its own was refused with
16+
`missing-required-prop` and the save failed.
17+
18+
**Clause-②: yes (widening)** — a `list-view` (or `view:list`) node that names its
19+
object through `dataSource.object` and sets no `objectName` now compiles and
20+
saves. A node that names its object in neither place also compiles now, and the
21+
list shows "No object named: set objectName or dataSource.object." where it used
22+
to draw the "Nothing here yet" empty state. A list with inline `data` shows no
23+
hint and renders as before. The published `objectName` input now carries a
24+
description that says the binding can supply it.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
'@object-ui/react': minor
3+
---
4+
5+
`ElementDataSourceGate` takes a `requiresObject` prop: when a placement opts in
6+
and its node names its object in neither place, the gate renders a short "no
7+
object named" hint instead of the block (objectui#11605).
8+
9+
The object-bound registrations stopped declaring their object key required,
10+
because the `dataSource` binding can supply it and the page compile has no "this
11+
key or that binding" form. So the page compile accepts a node that names no
12+
object at all, and the runtime's answer is the only signal left for it. Several
13+
blocks answered such a node with an empty list, board, form, chart, dash or pivot,
14+
which reads as an empty query.
15+
16+
**Clause-②: yes (widening)** — `ElementDataSourceGateProps` gains the optional
17+
`requiresObject` boolean. With it set, the gate reads the mapping's object key
18+
(`objectName` unless the mapping names another) on the node after the binding
19+
lands, so a node bound by `dataSource.object` renders as before; a node that names
20+
no object gets the hint, "No object named: set objectName or dataSource.object."
21+
(`data-testid` `{testId}-no-object`), and the block is not mounted. Without the
22+
prop, or with a mapping whose `object` is `false`, nothing changes. The hint is
23+
drawn after the view states, so a binding that is still resolving or failed to
24+
resolve keeps its own panel.

0 commit comments

Comments
 (0)