From 90f2ee4380f6870914d716584997a44dc578491d Mon Sep 17 00:00:00 2001 From: Bruno Pagno Date: Wed, 26 Nov 2025 08:46:26 +0100 Subject: [PATCH] make BlockNote editor read only when the user cannot edit a document --- frontend/src/react/OpBlockNoteContainer.tsx | 3 +++ .../stimulus/controllers/dynamic/block-note.controller.ts | 3 +++ lib/primer/open_project/forms/block_note_editor.html.erb | 1 + lib/primer/open_project/forms/block_note_editor.rb | 4 +++- .../open_project/forms/dsl/block_note_editor_input.rb | 7 +++++-- .../show_edit_view/block_note_editor_component.html.erb | 2 +- .../show_edit_view/block_note_editor_component.rb | 2 +- modules/documents/app/controllers/documents_controller.rb | 6 ++++++ .../app/forms/documents/block_note_editor_form.rb | 6 ++++-- modules/documents/app/views/documents/show.html.erb | 2 +- 10 files changed, 28 insertions(+), 8 deletions(-) diff --git a/frontend/src/react/OpBlockNoteContainer.tsx b/frontend/src/react/OpBlockNoteContainer.tsx index 2c194c12330..4aac2fe7a02 100644 --- a/frontend/src/react/OpBlockNoteContainer.tsx +++ b/frontend/src/react/OpBlockNoteContainer.tsx @@ -51,6 +51,7 @@ export interface OpBlockNoteContainerProps { inputField:HTMLInputElement; inputText?:string; activeUser:User; + readOnly:boolean; openProjectUrl:string; attachmentsUploadUrl:string; attachmentsCollectionKey:string; @@ -68,6 +69,7 @@ const detectTheme = ():OpColorMode => { return window.OpenProject.theme.detectOp export default function OpBlockNoteContainer({ inputField, inputText, activeUser, + readOnly, openProjectUrl, attachmentsUploadUrl, attachmentsCollectionKey, @@ -222,6 +224,7 @@ export default function OpBlockNoteContainer({ inputField, editor={editor} slashMenu={false} theme={theme} + editable={!readOnly} className={'block-note-editor-container'} >