diff --git a/apps/client/src/widgets/view_widgets/table_view/data.ts b/apps/client/src/widgets/view_widgets/table_view/data.ts index 7a8a461d8..126a8e537 100644 --- a/apps/client/src/widgets/view_widgets/table_view/data.ts +++ b/apps/client/src/widgets/view_widgets/table_view/data.ts @@ -25,10 +25,12 @@ export function buildData(info: PromotedAttributeInformation[], notes: FNote[]) export function buildColumnDefinitions(info: PromotedAttributeInformation[]) { const columnDefs: GridOptions["columnDefs"] = [ { - field: "noteId" + field: "noteId", + editable: false }, { - field: "title" + field: "title", + editable: true } ]; diff --git a/apps/client/src/widgets/view_widgets/table_view/renderer.ts b/apps/client/src/widgets/view_widgets/table_view/renderer.ts index c4e7384b4..b6ec442c4 100644 --- a/apps/client/src/widgets/view_widgets/table_view/renderer.ts +++ b/apps/client/src/widgets/view_widgets/table_view/renderer.ts @@ -6,6 +6,7 @@ import { setLabel } from "../../../services/attributes.js"; import applyHeaderCustomization from "./header-customization.js"; import ViewModeStorage from "../view_mode_storage.js"; import { type StateInfo } from "./storage.js"; +import server from "../../../services/server.js"; ModuleRegistry.registerModules([ AllCommunityModule ]); @@ -42,8 +43,13 @@ function setupEditing(): GridOptions { return; } + const { newValue } = event; + if (name === "title") { + // TODO: Deduplicate with note_title. + server.put(`notes/${noteId}/title`, { title: newValue }); + } + if (name.startsWith("labels.")) { - const { newValue } = event; const labelName = name.split(".", 2)[1]; setLabel(noteId, labelName, newValue); }