@object-ui/plugin-detail 16.0.0 → 16.1.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 +126 -0
- package/README.md +15 -0
- package/dist/DetailView.d.ts.map +1 -1
- package/dist/HistoryTimeline.d.ts +3 -1
- package/dist/HistoryTimeline.d.ts.map +1 -1
- package/dist/RecordDetailDrawer.d.ts.map +1 -1
- package/dist/RecordMetaFooter.d.ts.map +1 -1
- package/dist/RelatedList.d.ts +10 -0
- package/dist/RelatedList.d.ts.map +1 -1
- package/dist/index.js +1329 -1282
- package/dist/index.umd.cjs +3 -3
- package/dist/renderers/record-details.d.ts.map +1 -1
- package/dist/renderers/record-highlights.d.ts.map +1 -1
- package/dist/renderers/record-history.d.ts +1 -0
- package/dist/renderers/record-history.d.ts.map +1 -1
- package/dist/renderers/record-quick-actions.d.ts.map +1 -1
- package/dist/renderers/record-reference-rail.d.ts.map +1 -1
- package/dist/renderers/record-related-list.d.ts.map +1 -1
- package/dist/synth/buildDefaultPageSchema.d.ts +1 -0
- package/dist/synth/buildDefaultPageSchema.d.ts.map +1 -1
- package/package.json +16 -16
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,131 @@
|
|
|
1
1
|
# @object-ui/plugin-detail
|
|
2
2
|
|
|
3
|
+
## 16.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- faebac3: Related lists paginate by default and fetch server-side windows (#2711).
|
|
8
|
+
|
|
9
|
+
`record:related_list` now applies the spec default `limit` of 5 when a node
|
|
10
|
+
doesn't declare one, so detail-page related lists render pages with
|
|
11
|
+
Previous/Next controls instead of dumping every child row. On the auto-fetch
|
|
12
|
+
path RelatedList requests one page at a time (`$top`/`$skip`), reads the
|
|
13
|
+
collection size from `QueryResult.total` (`hasMore` fallback), sends user
|
|
14
|
+
column sorts as a server `$orderby`, and seeds the initial order from the
|
|
15
|
+
node's `sort` prop (new `defaultSort` prop on RelatedList). Caller-provided
|
|
16
|
+
`data` keeps the historical client-side slicing. Behavior change: lists that
|
|
17
|
+
previously rendered all rows now show 5 per page — declare a larger `limit`
|
|
18
|
+
on the `record:related_list` node to widen the window.
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- 7cf4051: chore(deps): align every `@objectstack/*` dependency to `^16.0.0-rc.0`
|
|
23
|
+
|
|
24
|
+
Bumps `@objectstack/spec` / `client` / `formula` / `lint` from `^15.1.1` to the
|
|
25
|
+
`16.0.0-rc.0` pre-release across the workspace (root + `apps/console` +
|
|
26
|
+
`apps/site` + all consuming packages). ObjectUI's own packages are already on
|
|
27
|
+
major 16, so this closes the 15↔16 skew between ObjectUI and the `@objectstack`
|
|
28
|
+
contract libraries (which publish in lockstep with `spec`).
|
|
29
|
+
|
|
30
|
+
This is a dependency alignment, not a behavioral migration: the full workspace
|
|
31
|
+
build (43/43) and the `@objectstack`-consuming package test suites
|
|
32
|
+
(`core` / `app-shell` / `data-objectstack` / `plugin-form` / `types`) are green
|
|
33
|
+
against `16.0.0-rc.0` with no source changes required.
|
|
34
|
+
|
|
35
|
+
Practical effect: `@objectstack/client@16.0.0-rc.0` now ships
|
|
36
|
+
`data.batchTransaction` (framework #3271), so `ObjectStackAdapter`'s feature
|
|
37
|
+
detect (`typeof client.data.batchTransaction === 'function'`) routes
|
|
38
|
+
master-detail cross-object saves through the typed SDK method instead of the
|
|
39
|
+
raw `fetch('/api/v1/batch')` fallback — realizing the "verify SDK path" half of
|
|
40
|
+
#2694. The raw-fetch branch stays as a defensive fallback (removal tracked in
|
|
41
|
+
#2694).
|
|
42
|
+
|
|
43
|
+
- 53513a4: fix(plugin-detail): #2688 — record surfaces without a caller title no longer floor to `Record #<id>`, and the meta footer never prints a raw audit user id
|
|
44
|
+
|
|
45
|
+
- `DetailView` header: after every declared-identity step misses and no
|
|
46
|
+
`schema.title` was provided, probe name-ish record keys (`name`, `title`,
|
|
47
|
+
`*_name`, …) before falling to the `Record #<id>` floor. Fixes records whose
|
|
48
|
+
name lives in a field the type-aware derivation deliberately skips (e.g. an
|
|
49
|
+
`autonumber` `name`) opened from surfaces like the gantt row drawer.
|
|
50
|
+
- `RecordMetaFooter`: `created_by` / `updated_by` are always user references on
|
|
51
|
+
ObjectStack — when the fetched schema omits the audit system fields, default
|
|
52
|
+
the reference target to `sys_user` so the footer renders a resolved user name
|
|
53
|
+
(or the muted placeholder) instead of the raw opaque id.
|
|
54
|
+
|
|
55
|
+
- f329ec5: chore(lint): clear the baseline lint errors in plugin-detail (objectui#2713 Wave 3)
|
|
56
|
+
|
|
57
|
+
Wave 3 of the #2713 lint-gate restoration. `@object-ui/plugin-detail` was red at
|
|
58
|
+
baseline on `main`; cleared every **error** (no behavior change; warnings out of
|
|
59
|
+
scope). All nine are `react-hooks` errors — the record renderers called hooks
|
|
60
|
+
after conditional early returns, which is a real fragility (React throws when the
|
|
61
|
+
guard toggles between renders), so each is restructured so hooks run
|
|
62
|
+
unconditionally while the rendered output stays identical:
|
|
63
|
+
|
|
64
|
+
- **`record-reference-rail`** — hoisted `useState` above the empty-entries early
|
|
65
|
+
return (no dependency on it).
|
|
66
|
+
- **`record-related-list`** — moved the `!objectName` placeholder return below
|
|
67
|
+
the four hooks (`usePermissions` / `useFieldPermissions` / `useRelatedRecordActions`
|
|
68
|
+
/ `useMemo`); those hooks are pure context/memo reads, safe with an empty
|
|
69
|
+
object name. The object-level read gate ordering is unchanged (covered by
|
|
70
|
+
`RecordRelatedListRenderer.readgate.test`).
|
|
71
|
+
- **`record-quick-actions`** — moved the `requiredPermissions` gate below
|
|
72
|
+
`useActionEngine` (a pure `useContext`/`useMemo` hook).
|
|
73
|
+
- **`record-highlights`** — `useId` + `useRegisterHighlightFields` now run
|
|
74
|
+
unconditionally; the permission gate is enforced after them. Because
|
|
75
|
+
`useRegisterHighlightFields` has a register effect, it is passed `[]` when the
|
|
76
|
+
gate denies — equivalent to not registering, so no body field is ever hidden
|
|
77
|
+
for highlights that aren't rendered.
|
|
78
|
+
- **`RelatedList`** `SectionIcon` (`react-hooks/static-components`) —
|
|
79
|
+
`resolveIconComponent` is a stable registry lookup, not a component created
|
|
80
|
+
during render → justified scoped disable.
|
|
81
|
+
|
|
82
|
+
- 6d4fbe6: **Consolidate the `managedBy` lifecycle-bucket logic into one shared source of truth (follows framework ADR-0103).** The bucket taxonomy was hand-mirrored in several places — `crudAffordances.ts`, `ManagedByBadge.tsx` (its own `Bucket` union + `isWriteOptedIn` + the writable-system derivation), and `plugin-detail`'s `record-details.tsx` (`NON_EDITABLE_BUCKETS`, duplicated because it can't depend on app-shell) — a drift risk, and the object-schema `managedBy` type was open-ended (`(string & {})`) so unknown buckets slipped through and silently defaulted to fully-editable.
|
|
83
|
+
|
|
84
|
+
- **`@object-ui/types`** now owns the closed `ManagedByBucket` union (+ `MANAGED_BY_BUCKETS`), and `ObjectSchema.managedBy` is tightened from `'platform' | 'better-auth' | (string & {})` to that union — unknown buckets are now a type error at authoring time.
|
|
85
|
+
- **`@object-ui/core`** now owns the React-free runtime logic — `resolveCrudAffordances`, `isWriteOptedIn`, `isSystemWritable`, `isObjectInlineEditable` — reachable by every UI package including `plugin-detail` (which could not import app-shell).
|
|
86
|
+
- **`app-shell/utils/crudAffordances.ts`** is now a thin re-export of `@object-ui/core` (existing imports keep working); `ManagedByBadge` consumes the shared `isSystemWritable`; `plugin-detail` `record-details.tsx` replaces its hand-mirrored `NON_EDITABLE_BUCKETS` with `isObjectInlineEditable`.
|
|
87
|
+
|
|
88
|
+
Behavior-preserving — all existing affordance/edit-gate tests stay green; the shared module adds direct unit coverage (including the previously-untested `isSystemWritable` derivation). Translated copy (badge variants, empty-state messages) stays in app-shell.
|
|
89
|
+
|
|
90
|
+
- 0a3710b: **Finish the `managedBy` / `userActions` de-dup — one parser for the override shape (completes objectui#2712, framework#3343).** #2712 consolidated the bucket _union_ + affordance _set_ mirrors but left four surfaces still parsing the `userActions.{create,edit,delete}` override shape by hand. They now all route through the shared `@object-ui/core` policy, so no package re-implements the boolean / #2614-object-form parse locally.
|
|
91
|
+
|
|
92
|
+
- **`@object-ui/core`** promotes the internal `normalizeOverride` to the exported **`normalizeUserAction(v, base)`** (the one parser) and adds **`userActionPredicates(v)`** for per-record CEL predicate extraction.
|
|
93
|
+
- **`app-shell/utils/managedByEmptyState.ts`** — the writable-`system` create check and its local `EmptyStateUserActions` interface are replaced by `resolveCrudAffordances({ managedBy, userActions }).create`.
|
|
94
|
+
- **`plugin-grid/rowCrudAffordances.ts`** — the local `isOptedOut` / `predicatesOf` helpers (and duplicated `RowCrudUserAction` / `RowCrudPredicates` types) fold into `normalizeUserAction`; the historical type names stay re-exported for compat.
|
|
95
|
+
- **`plugin-detail/RelatedList.tsx`** — its inline `predicatesOf` fold into `userActionPredicates`.
|
|
96
|
+
- **`plugin-form/ObjectForm.tsx`** — the hand-rolled `managedBy !== 'platform'` blanket lock + `userActions` unlock is replaced by the resolved affordance for the current mode (`edit` / `create`), the **same** `resolveCrudAffordances` contract the detail (`isObjectInlineEditable`) and grid surfaces use.
|
|
97
|
+
|
|
98
|
+
Behavior-preserving for `platform` / `system` / `append-only` / `better-auth`, with one deliberate alignment: an admin-editable **`config`**-bucket object (e.g. `sys_webhook`, `sys_permission_set`) is now editable in `ObjectForm` — it was previously over-locked as "non-`platform`", while detail/grid already treated it as editable (`config` resolves `edit: true`). New unit coverage for the shared parser and the config / create-mode form gate; all existing affordance/edit-gate tests stay green.
|
|
99
|
+
|
|
100
|
+
- 3b2e4d9: fix(list): route remaining system-field groupings through the shared classifier
|
|
101
|
+
|
|
102
|
+
Follow-up to the `owner_id` default-column fix: consolidate the display-oriented
|
|
103
|
+
system-field exclusions onto the shared `isSystemManagedField` /
|
|
104
|
+
`SYSTEM_MANAGED_FIELD_NAMES` (from `@object-ui/types`) so the framework-injected
|
|
105
|
+
`owner_id` is treated consistently across the grid, record picker, and detail
|
|
106
|
+
drawer.
|
|
107
|
+
|
|
108
|
+
- `ObjectGrid` record-detail drawer: the business-fields vs. muted meta-section
|
|
109
|
+
split now uses the shared classifier, so `owner_id` (and other injected system
|
|
110
|
+
fields) land in the meta section instead of the business body.
|
|
111
|
+
- `deriveLookupColumns` (record picker): drops its local name set for the shared
|
|
112
|
+
classifier — now flag-aware (`field.system`), not just name-based.
|
|
113
|
+
- `RecordDetailDrawer`: its default `systemFields` set is derived from the shared
|
|
114
|
+
`SYSTEM_MANAGED_FIELD_NAMES`; the `systemFields` prop override is preserved.
|
|
115
|
+
|
|
116
|
+
`deriveRelatedLists`' narrow "audit FK on every object" set and plugin-detail's
|
|
117
|
+
inline-edit "never editable" set are intentionally left distinct — different
|
|
118
|
+
semantics (the latter deliberately keeps `owner_id` editable).
|
|
119
|
+
|
|
120
|
+
- Updated dependencies [0318118]
|
|
121
|
+
- Updated dependencies [af1b0db]
|
|
122
|
+
- Updated dependencies [1100a8b]
|
|
123
|
+
- Updated dependencies [7abe4cd]
|
|
124
|
+
- Updated dependencies [ebe6494]
|
|
125
|
+
- Updated dependencies [f80aaf2]
|
|
126
|
+
- Updated dependencies [29c6040]
|
|
127
|
+
- @object-ui/i18n@16.1.0
|
|
128
|
+
|
|
3
129
|
## 16.0.0
|
|
4
130
|
|
|
5
131
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -192,6 +192,21 @@ Tab navigation for organizing content into different views.
|
|
|
192
192
|
|
|
193
193
|
Displays related records in list, grid, or table format.
|
|
194
194
|
|
|
195
|
+
Related lists are **paged by default**: the `record:related_list` renderer
|
|
196
|
+
applies the spec default `limit` of **5** when the node doesn't declare one
|
|
197
|
+
(`@objectstack/spec` `RecordRelatedListProps.limit`, "Number of records to
|
|
198
|
+
display initially"), so a child collection of any size renders as pages with
|
|
199
|
+
Previous/Next controls instead of one flat dump. On the auto-fetch path the
|
|
200
|
+
component asks the server for **one page at a time** (`$top`/`$skip`) and
|
|
201
|
+
reads the collection size from `QueryResult.total` (falling back to a
|
|
202
|
+
`hasMore` estimate), so large child tables never ship wholesale to the
|
|
203
|
+
browser. A user column sort becomes a server `$orderby` (ordering stays
|
|
204
|
+
global across pages), and the node's `sort` prop seeds the initial order.
|
|
205
|
+
Passing `data` directly keeps the historical client-side slicing, and typing
|
|
206
|
+
in the opt-in filter box temporarily falls back to the full-fetch client
|
|
207
|
+
pipeline (the contains-filter sweeps every field, which no generic server
|
|
208
|
+
filter can express).
|
|
209
|
+
|
|
195
210
|
The `record:related_list` renderer is automatically gated on the current
|
|
196
211
|
user's object-level `read` permission for the child object: when the
|
|
197
212
|
permission system (`@object-ui/permissions`) is loaded and denies read,
|
package/dist/DetailView.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailView.d.ts","sourceRoot":"","sources":["../src/DetailView.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAwC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAA4B,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"DetailView.d.ts","sourceRoot":"","sources":["../src/DetailView.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAwC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAA4B,MAAM,kBAAkB,CAAC;AAuF/F,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IACrC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA4sChD,CAAC"}
|
|
@@ -39,9 +39,11 @@ export interface HistoryTimelineProps {
|
|
|
39
39
|
entries: HistoryEntry[];
|
|
40
40
|
loading?: boolean;
|
|
41
41
|
emptyText?: string;
|
|
42
|
+
/** Localized fallback for entries with no resolved actor name. Defaults to "Unknown user". */
|
|
43
|
+
unknownUserText?: string;
|
|
42
44
|
className?: string;
|
|
43
45
|
/** Locale used for relative time formatting. Defaults to browser locale. */
|
|
44
46
|
locale?: string;
|
|
45
47
|
}
|
|
46
|
-
export declare function HistoryTimeline({ entries, loading, emptyText, className, locale, }: HistoryTimelineProps): React.JSX.Element;
|
|
48
|
+
export declare function HistoryTimeline({ entries, loading, emptyText, unknownUserText, className, locale, }: HistoryTimelineProps): React.JSX.Element;
|
|
47
49
|
//# sourceMappingURL=HistoryTimeline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HistoryTimeline.d.ts","sourceRoot":"","sources":["../src/HistoryTimeline.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,EAAE,CAAC,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA8ED,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,OAAO,EACP,SAAS,EACT,SAAS,EACT,MAAM,GACP,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"HistoryTimeline.d.ts","sourceRoot":"","sources":["../src/HistoryTimeline.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,EAAE,CAAC,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8FAA8F;IAC9F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA8ED,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,OAAO,EACP,SAAS,EACT,eAAe,EACf,SAAS,EACT,MAAM,GACP,EAAE,oBAAoB,qBAsHtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordDetailDrawer.d.ts","sourceRoot":"","sources":["../src/RecordDetailDrawer.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"RecordDetailDrawer.d.ts","sourceRoot":"","sources":["../src/RecordDetailDrawer.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAuBnD,MAAM,WAAW,uBAAuB;IACtC,4CAA4C;IAC5C,IAAI,EAAE,OAAO,CAAC;IACd,oFAAoF;IACpF,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,iEAAiE;IACjE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;OAIG;IACH,YAAY,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;IACvD;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAKD,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,KAAK,EACL,MAAM,EACN,UAAU,EACV,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,KAA0B,EAC1B,OAAW,EACX,YAAoC,EACpC,WAAW,EACX,QAAQ,EACR,SAAgB,EAChB,YAAY,GACb,EAAE,uBAAuB,qBAkOzB;AAED,eAAe,kBAAkB,CAAC;AAElC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAQjG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordMetaFooter.d.ts","sourceRoot":"","sources":["../src/RecordMetaFooter.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAiB/B,MAAM,WAAW,qBAAqB;IACpC,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C,oFAAoF;IACpF,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"RecordMetaFooter.d.ts","sourceRoot":"","sources":["../src/RecordMetaFooter.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAiB/B,MAAM,WAAW,qBAAqB;IACpC,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C,oFAAoF;IACpF,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA0HD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA4D5D,CAAC"}
|
package/dist/RelatedList.d.ts
CHANGED
|
@@ -67,6 +67,16 @@ export interface RelatedListProps {
|
|
|
67
67
|
maxColumns?: number;
|
|
68
68
|
/** Page size for pagination (enables pagination when set) */
|
|
69
69
|
pageSize?: number;
|
|
70
|
+
/**
|
|
71
|
+
* Initial sort applied while the user hasn't clicked a column sort — the
|
|
72
|
+
* spec `RecordRelatedListProps.sort` shape (`'field'` / `'-field'` string or
|
|
73
|
+
* `[{field, order}]`). On the auto-fetch path this becomes the server
|
|
74
|
+
* `$orderby`, keeping page windows deterministic.
|
|
75
|
+
*/
|
|
76
|
+
defaultSort?: string | Array<{
|
|
77
|
+
field: string;
|
|
78
|
+
order: 'asc' | 'desc';
|
|
79
|
+
}>;
|
|
70
80
|
/** Enable column sorting */
|
|
71
81
|
sortable?: boolean;
|
|
72
82
|
/** Enable text filtering */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelatedList.d.ts","sourceRoot":"","sources":["../src/RelatedList.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAoB/B,OAAO,EAAkD,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAY5G,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"RelatedList.d.ts","sourceRoot":"","sources":["../src/RelatedList.tsx"],"names":[],"mappings":"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"}
|