From 37e111d8a973b51c4d5c0586ee912aee887c3b53 Mon Sep 17 00:00:00 2001 From: zadam Date: Sun, 25 Oct 2020 11:00:27 +0100 Subject: [PATCH] trim content for grid view --- .../app/services/note_content_renderer.js | 19 ++++++++++++++++--- src/public/app/services/note_list_renderer.js | 4 +++- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/public/app/services/note_content_renderer.js b/src/public/app/services/note_content_renderer.js index f7b38b95e..0246e3432 100644 --- a/src/public/app/services/note_content_renderer.js +++ b/src/public/app/services/note_content_renderer.js @@ -4,7 +4,11 @@ import renderService from "./render.js"; import protectedSessionService from "./protected_session.js"; import protectedSessionHolder from "./protected_session_holder.js"; -async function getRenderedContent(note) { +async function getRenderedContent(note, options = {}) { + options = Object.assign({ + trim: false + }, options); + const type = getRenderingType(note); let $rendered; @@ -12,12 +16,12 @@ async function getRenderedContent(note) { if (type === 'text') { const fullNote = await server.get('notes/' + note.noteId); - $rendered = $('
').html(fullNote.content); + $rendered = $('
').html(trim(fullNote.content, options.trim)); } else if (type === 'code') { const fullNote = await server.get('notes/' + note.noteId); - $rendered = $("
").text(fullNote.content);
+        $rendered = $("
").text(trim(fullNote.content, options.trim));
     }
     else if (type === 'image') {
         $rendered = $("")
@@ -89,6 +93,15 @@ async function getRenderedContent(note) {
     };
 }
 
+function trim(text, doTrim) {
+    if (!doTrim) {
+        return text;
+    }
+    else {
+        return text.substr(0, Math.min(text.length, 1000));
+    }
+}
+
 function getRenderingType(note) {
     let type = note.type;
 
diff --git a/src/public/app/services/note_list_renderer.js b/src/public/app/services/note_list_renderer.js
index fac9136b9..4136a7757 100644
--- a/src/public/app/services/note_list_renderer.js
+++ b/src/public/app/services/note_list_renderer.js
@@ -300,7 +300,9 @@ class NoteListRenderer {
         const $content = $('
'); try { - const {renderedContent, type} = await noteContentRenderer.getRenderedContent(note); + const {renderedContent, type} = await noteContentRenderer.getRenderedContent(note, { + trim: this.viewType === 'grid' // for grid only short content is needed + }); $content.append(renderedContent); $content.addClass("type-" + type);