Releases: objectstack-ai/objectui
Release list
@object-ui/types@11.4.0
Minor Changes
-
8bf6295: feat: adaptive record surface + semantic field span + responsive columns (framework#2578)
Field-heavy objects (all metadata is AI-authored) now present themselves without
any authored presentation config:- Adaptive surface — a record's create/edit/detail opens as a full page when
the object is field-heavy, or a drawer when it is light. Derived from field
count (deriveRecordSurface), not authored; mobile always pages. Wired into the
app-shell ObjectView detail navigation (an authored view/objectnavigation
still wins). - Semantic field span —
FormField.span(auto/full) is a width primitive
decoupled from the (per-surface derived) column count; legacycolSpanis
clamped so it never overflows.ObjectFormnow honours per-sectioncolumns
and carriesspan/colSpanfrom section defs — fixes the bug where
type:'simple'ignoredsection.columnsand grouped fields rendered single
column. - Responsive columns —
inferColumnsscales the column CAP with field count
(≤3→1, ≤8→2, ≤15→3, 16+→4); the ACTUAL column count follows the form's real
width via CSS container queries, so the same form goes 1→2→3→4 columns as a
drawer widens or becomes a page. - Runtime overlay width —
NavigationConfig.sizebucket is resolved to a
viewport-clamped width at runtime (overlayWidthFor); a pixel width is never
authored (the author cannot know the client viewport).
- Adaptive surface — a record's create/edit/detail opens as a full page when
Patch Changes
-
1948c5b: fix(plugin-grid): keep the grid's row selection in sync when a bulk-action dialog closes
Closing a bulk-action result dialog (e.g. 派工 / 下推) on Done cleared
ObjectGrid'sselectedRows— which drives the selection toolbar — but never
touched the DataTable's internal checkbox state. Two visible problems:-
Desync on success. The toolbar disappeared while every row stayed visibly
ticked, because the checkboxes are table-internal state the grid couldn't
reach. -
Lost selection on total failure. When the run failed for every row
(0 succeeded — a precondition error, say), the toolbar still vanished,
stranding the user with no way to retry the exact rows they'd picked.
The dialog-close handler now gates the reset on
result.succeeded > 0: a total
failure keeps both the selection and the toolbar (and skips the phantom
refetch) so the user can fix the cause and retry. When it does reset, a new
selectionResetKeyprop on DataTable clears the internal checkbox selection in
lockstep with the toolbar, so the two never drift apart. -
-
c38d107: Fix view-level
FormField.visibleOn(CEL) never taking effect (#2212).The spec ships
visibleOnas an Expression object{ dialect: 'cel', source }
(what thePtemplate emits) or a bare string, but the whole chain dropped it:sectionFields.ts/ObjectForm.tsxonly accepted the bare-string shape and
attached a deadvisible()closure no renderer ever called — the Expression
object shape was silently discarded.- The form renderer destructured
visibleOnout of the field config and never
evaluated it. RecordFormPagedropped asimpleform view'ssectionsentirely, so
page-mode create/edit fell back to the raw schema (every field, no authored
selection/grouping) while the modal path honored the same view.ObjectForm's grouped-sections path matched section fields by name only,
dropping per-fieldvisibleOnoverrides.
visibleOnnow flows through normalization verbatim (both wire shapes) and is
evaluated reactively by the form renderer with the canonical expression engine
(evalFieldPredicate— same engine, record scope, and fail-open semantics as
field-levelvisibleWhen; both predicates must allow a field for it to show).
Sectioned/flat normalization also copies field-levelvisibleWhen/
readonlyWhen/requiredWhenrules it previously lost.
@object-ui/tenant@11.4.0
@object-ui/sdui-parser@11.4.0
@object-ui/sdui-parser@11.4.0
@object-ui/runner@11.4.0
Patch Changes
- Updated dependencies [8bf6295]
- Updated dependencies [1948c5b]
- Updated dependencies [bce581a]
- Updated dependencies [c38d107]
- Updated dependencies [7782698]
- Updated dependencies [e84d64d]
- @object-ui/types@11.4.0
- @object-ui/components@11.4.0
- @object-ui/core@11.4.0
- @object-ui/plugin-charts@11.4.0
- @object-ui/plugin-kanban@11.4.0
- @object-ui/react@11.4.0
@object-ui/react@11.4.0
Patch Changes
@object-ui/react-runtime@11.4.0
@object-ui/react-runtime@11.4.0
@object-ui/providers@11.4.0
@object-ui/plugin-view@11.4.0
Minor Changes
-
8bf6295: feat: adaptive record surface + semantic field span + responsive columns (framework#2578)
Field-heavy objects (all metadata is AI-authored) now present themselves without
any authored presentation config:- Adaptive surface — a record's create/edit/detail opens as a full page when
the object is field-heavy, or a drawer when it is light. Derived from field
count (deriveRecordSurface), not authored; mobile always pages. Wired into the
app-shell ObjectView detail navigation (an authored view/objectnavigation
still wins). - Semantic field span —
FormField.span(auto/full) is a width primitive
decoupled from the (per-surface derived) column count; legacycolSpanis
clamped so it never overflows.ObjectFormnow honours per-sectioncolumns
and carriesspan/colSpanfrom section defs — fixes the bug where
type:'simple'ignoredsection.columnsand grouped fields rendered single
column. - Responsive columns —
inferColumnsscales the column CAP with field count
(≤3→1, ≤8→2, ≤15→3, 16+→4); the ACTUAL column count follows the form's real
width via CSS container queries, so the same form goes 1→2→3→4 columns as a
drawer widens or becomes a page. - Runtime overlay width —
NavigationConfig.sizebucket is resolved to a
viewport-clamped width at runtime (overlayWidthFor); a pixel width is never
authored (the author cannot know the client viewport).
- Adaptive surface — a record's create/edit/detail opens as a full page when
Patch Changes
- Updated dependencies [8bf6295]
- Updated dependencies [144ab55]
- Updated dependencies [1948c5b]
- Updated dependencies [3e42680]
- Updated dependencies [bce581a]
- Updated dependencies [2edcaff]
- Updated dependencies [9cd9be1]
- Updated dependencies [c38d107]
- Updated dependencies [7782698]
- Updated dependencies [1e9145d]
- Updated dependencies [e84d64d]
- @object-ui/plugin-form@11.4.0
- @object-ui/types@11.4.0
- @object-ui/plugin-grid@11.4.0
- @object-ui/components@11.4.0
- @object-ui/core@11.4.0
- @object-ui/react@11.4.0
@object-ui/plugin-tree@11.4.0
@object-ui/plugin-timeline@11.4.0
Patch Changes
- Updated dependencies [8bf6295]
- Updated dependencies [1948c5b]
- Updated dependencies [bce581a]
- Updated dependencies [c38d107]
- Updated dependencies [7782698]
- Updated dependencies [e84d64d]
- @object-ui/types@11.4.0
- @object-ui/components@11.4.0
- @object-ui/core@11.4.0
- @object-ui/mobile@11.4.0
- @object-ui/react@11.4.0