diff --git a/packages/field-content/src/views/Field.js b/packages/field-content/src/views/Field.js index 52f90961f34..196da8fd331 100644 --- a/packages/field-content/src/views/Field.js +++ b/packages/field-content/src/views/Field.js @@ -24,7 +24,7 @@ class ErrorBoundary extends Component { } } -let ContentField = ({ field, value, onChange, autoFocus, errors }) => { +let ContentField = ({ field, value, onChange, autoFocus, errors, isReadOnly }) => { const htmlID = `ks-content-editor-${field.path}`; return ( @@ -62,6 +62,7 @@ let ContentField = ({ field, value, onChange, autoFocus, errors }) => { padding: '16px 32px', minHeight: 200, }} + isReadOnly={isReadOnly} /> )} diff --git a/packages/field-content/src/views/editor/index.js b/packages/field-content/src/views/editor/index.js index b9fb07b0b70..83bb08bb873 100755 --- a/packages/field-content/src/views/editor/index.js +++ b/packages/field-content/src/views/editor/index.js @@ -32,7 +32,7 @@ function getSchema(blocks) { return schema; } -function Stories({ value: editorState, onChange, blocks, className, id }) { +function Stories({ value: editorState, onChange, blocks, className, id, isReadOnly }) { let schema = useMemo(() => { return getSchema(blocks); }, [blocks]); @@ -75,6 +75,7 @@ function Stories({ value: editorState, onChange, blocks, className, id }) { onChange={({ value }) => { onChange(value); }} + readOnly={isReadOnly} /> diff --git a/packages/fields-markdown/src/views/Field.js b/packages/fields-markdown/src/views/Field.js index 851ede32d81..110cada7755 100644 --- a/packages/fields-markdown/src/views/Field.js +++ b/packages/fields-markdown/src/views/Field.js @@ -60,7 +60,7 @@ let IconToolbarButton = ({ isActive, label, icon, tooltipPlacement = 'top', ...p ); }; -export default function MarkdownField({ field, errors, value, onChange }) { +export default function MarkdownField({ field, errors, value, onChange, isReadOnly }) { const htmlID = `ks-input-${field.path}`; const accessError = errors.find( error => error instanceof Error && error.name === 'AccessDeniedError' @@ -81,6 +81,7 @@ export default function MarkdownField({ field, errors, value, onChange }) { icon={} onClick={onClick} label={tool.label} + disabled={isReadOnly} /> ); })} @@ -122,6 +123,7 @@ export default function MarkdownField({ field, errors, value, onChange }) { tabSize: '2', lineWrapping: true, addModeClass: true, + readOnly: isReadOnly, }} editorDidMount={editor => { setTools(getTools(editor)); diff --git a/packages/fields-wysiwyg-tinymce/src/views/Field.js b/packages/fields-wysiwyg-tinymce/src/views/Field.js index 070bf721b73..756b9c51bc0 100644 --- a/packages/fields-wysiwyg-tinymce/src/views/Field.js +++ b/packages/fields-wysiwyg-tinymce/src/views/Field.js @@ -37,7 +37,7 @@ const GlobalStyles = () => ( /> ); -const WysiwygField = ({ onChange, autoFocus, field, errors, value: serverValue }) => { +const WysiwygField = ({ onChange, autoFocus, field, errors, value: serverValue, isReadOnly }) => { const handleChange = value => { if (typeof value === 'string') { onChange(value); @@ -63,6 +63,7 @@ const WysiwygField = ({ onChange, autoFocus, field, errors, value: serverValue } init={{ ...defaultOptions, auto_focus: autoFocus, ...overrideOptions }} onEditorChange={handleChange} value={value} + isDisabled={isReadOnly} />