Skip to content

Commit 4930bfb

Browse files
os-zhuangclaude
andauthored
feat(list): make inline record editing a configurable, author-controlled property (#2103)
* feat(list): make inline editing a configurable view property with a runtime toggle Inline cell editing was effectively hardcoded per render path. Make it a first-class, per-view property with UI to flip it: - ViewSettingsPopover: a 'Record editing' toggle (mobile/compact settings). - ListView: a desktop toolbar toggle button (Pencil) for grid views, plus an onInlineEditChange callback and the popover wiring; reads schema.inlineEdit -> editable (already existed). - app-shell ObjectView (object saved views): persist the toggle to viewDef.inlineEdit via persistViewPatch, alongside sort/filter/hiddenFields. - InterfaceListPage (page lists): read inlineEdit from the page block's userActions.editInline instead of hardcoding false — inline editing becomes a page-authored property. When on, cells edit with the dedicated @object-ui/fields widgets (#2100). type-check clean; the one ListView rules-of-hooks lint warning is pre-existing (useObjectLabel try/catch). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * feat(types): declare userActions.editInline on ListViewSchema Mirror the framework spec change (UserActionsConfigSchema.editInline): the list toolbar/interface userActions gains an `editInline?: boolean`. This types the runtime read at InterfaceListPage (`userActions.editInline === true` -> inlineEdit) and documents inline editing as an author-controlled, default-off list property. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 2ea17e5 commit 4930bfb

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

packages/types/src/objectql.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1936,6 +1936,12 @@ export interface ListViewSchema extends BaseSchema {
19361936
filter?: boolean;
19371937
rowHeight?: boolean;
19381938
addRecordForm?: boolean;
1939+
/**
1940+
* Allow end users to edit records inline (click a cell → type-aware editor,
1941+
* the same widgets the form uses). Default off: a list is read-only unless
1942+
* the author opts in. Read by InterfaceListPage → `inlineEdit`.
1943+
*/
1944+
editInline?: boolean;
19391945
buttons?: string[];
19401946
};
19411947

0 commit comments

Comments
 (0)