From c33d496cf37620e5b37fe8f2f99156b34c5114a1 Mon Sep 17 00:00:00 2001 From: zadam Date: Thu, 21 Jan 2021 20:02:40 +0100 Subject: [PATCH] note info widget provides basic info on note (and subtree) size --- .../widgets/collapsible_widgets/note_info.js | 34 ++++++++++++++++--- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/src/public/app/widgets/collapsible_widgets/note_info.js b/src/public/app/widgets/collapsible_widgets/note_info.js index 640f64ad0..ca2172731 100644 --- a/src/public/app/widgets/collapsible_widgets/note_info.js +++ b/src/public/app/widgets/collapsible_widgets/note_info.js @@ -39,6 +39,15 @@ const TPL = ` Modified: + + Note size: + + + + + (subtree size: ) + + `; @@ -57,6 +66,8 @@ export default class NoteInfoWidget extends CollapsibleWidget { this.$dateModified = this.$body.find(".note-info-date-modified"); this.$type = this.$body.find(".note-info-type"); this.$mime = this.$body.find(".note-info-mime"); + this.$noteSize = this.$body.find(".note-size"); + this.$subTreeSize = this.$body.find(".subtree-size"); } async refreshWithNote(note) { @@ -80,13 +91,28 @@ export default class NoteInfoWidget extends CollapsibleWidget { this.$mime.empty(); } - let resp = await server.get(`stats/note-size/${note.noteId}`); + const resp = await server.get(`stats/note-size/${note.noteId}`); + this.$noteSize.text(this.formatSize(resp.noteSize)); - console.log(resp); + const $calculateLink = $('calculate') + .on('click', async () => { + const resp = await server.get(`stats/subtree-size/${note.noteId}`); - resp = await server.get(`stats/subtree-size/${note.noteId}`); + this.$subTreeSize.text(this.formatSize(resp.subTreeSize)); + }) - console.log(resp); + this.$subTreeSize.empty().append($calculateLink); + } + + formatSize(size) { + size = Math.max(Math.round(size / 1024), 1); + + if (size < 1024) { + return `${size} KiB`; + } + else { + return `${Math.round(size / 102.4) / 10} MiB`; + } } entitiesReloadedEvent({loadResults}) {