diff --git a/src/entities/entity_constructor.js b/src/entities/entity_constructor.js
index e2162b4ae..180ee971f 100644
--- a/src/entities/entity_constructor.js
+++ b/src/entities/entity_constructor.js
@@ -6,7 +6,7 @@ const RecentNote = require('../entities/recent_note');
const ApiToken = require('../entities/api_token');
const Option = require('../entities/option');
const repository = require('../services/repository');
-const cls = require('./cls');
+const cls = require('../services/cls');
const ENTITY_NAME_TO_ENTITY = {
"attributes": Attribute,
diff --git a/src/public/javascripts/widgets/note_detail.js b/src/public/javascripts/widgets/note_detail.js
index c135ae43b..c72d7f0e2 100644
--- a/src/public/javascripts/widgets/note_detail.js
+++ b/src/public/javascripts/widgets/note_detail.js
@@ -18,7 +18,7 @@ import appContext from "../services/app_context.js";
import keyboardActionsService from "../services/keyboard_actions.js";
import noteCreateService from "../services/note_create.js";
import DeletedTypeWidget from "./type_widgets/deleted.js";
-import TextPreviewTypeWidget from "./type_widgets/text_preview.js";
+import ReadOnlyTextTypeWidget from "./type_widgets/read_only_text.js";
const TPL = `
@@ -37,7 +37,7 @@ const typeWidgetClasses = {
'empty': EmptyTypeWidget,
'deleted': DeletedTypeWidget,
'text': TextTypeWidget,
- 'text-preview': TextPreviewTypeWidget,
+ 'read-only-text': ReadOnlyTextTypeWidget,
'code': CodeTypeWidget,
'file': FileTypeWidget,
'image': ImageTypeWidget,
@@ -181,8 +181,9 @@ export default class NoteDetailWidget extends TabAwareWidget {
if (type === 'text' && !this.tabContext.textPreviewDisabled) {
const noteComplement = await this.tabContext.getNoteComplement();
- if (noteComplement.content && noteComplement.content.length > 10000) {
- type = 'text-preview';
+ if (note.hasLabel('readOnly') ||
+ (noteComplement.content && noteComplement.content.length > 10000)) {
+ type = 'read-only-text';
}
}
diff --git a/src/public/javascripts/widgets/type_widgets/text_preview.js b/src/public/javascripts/widgets/type_widgets/read_only_text.js
similarity index 85%
rename from src/public/javascripts/widgets/type_widgets/text_preview.js
rename to src/public/javascripts/widgets/type_widgets/read_only_text.js
index 8872d5848..28dce7051 100644
--- a/src/public/javascripts/widgets/type_widgets/text_preview.js
+++ b/src/public/javascripts/widgets/type_widgets/read_only_text.js
@@ -24,16 +24,16 @@ const TPL = `
}
-
- Text preview is shown.
Click here to edit the note.
+
+ Read only text view is shown.
Click here to edit the note.
`;
-export default class TextPreviewTypeWidget extends TypeWidget {
- static getType() { return "text-preview"; }
+export default class ReadOnlyTextTypeWidget extends TypeWidget {
+ static getType() { return "read-only-text"; }
doRender() {
this.$widget = $(TPL);
diff --git a/src/public/javascripts/widgets/type_widgets/text.js b/src/public/javascripts/widgets/type_widgets/text.js
index 5fc8e488d..cd5d12111 100644
--- a/src/public/javascripts/widgets/type_widgets/text.js
+++ b/src/public/javascripts/widgets/type_widgets/text.js
@@ -141,8 +141,6 @@ export default class TextTypeWidget extends TypeWidget {
}
async doRefresh(note) {
- this.textEditor.isReadOnly = note.hasLabel('readOnly');
-
const noteComplement = await treeCache.getNoteComplement(note.noteId);
await this.spacedUpdate.allowUpdateWithoutChange(() => {