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}
/>