From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 55D7BCA01; Tue, 12 Apr 2022 12:34:37 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 1DF73D32C; Tue, 12 Apr 2022 12:34:37 +0200 (CEST) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id 0A97AD2EE; Tue, 12 Apr 2022 12:34:35 +0200 (CEST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id D74DA4163D; Tue, 12 Apr 2022 12:34:34 +0200 (CEST) From: Stefan Sterz To: pbs-devel@lists.proxmox.com, pve-devel@lists.proxmox.com Date: Tue, 12 Apr 2022 12:34:23 +0200 Message-Id: <20220412103423.3845322-6-s.sterz@proxmox.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220412103423.3845322-1-s.sterz@proxmox.com> References: <20220412103423.3845322-1-s.sterz@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL -0.025 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record T_SCC_BODY_TEXT_LINE -0.01 - Subject: [pbs-devel] [PATCH proxmox-backup v5 5/5] fix #3067: ui: add a separate notes view for longer markdown notes X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Apr 2022 10:34:37 -0000 since markdown notes might be rather long, this commit adds a tab similar to pve's datacenter or node notes. requires a bump of the widget toolkit in order to use the `pmxNotesView`. Signed-off-by: Stefan Sterz --- i chose the maxLength of a note in pbs to be 1022*64 because the server allows at most 1024*64 bytes of form data per request, which are distributed as follows: equal signs: 2 the word "digest": 7 digest: 64 the word "description": 12 description: 65451 so by setting the limit to 1024*64 some users might encounter an error telling them that the message body was too large even though the front-end said the description was fine. i wanted to approximate the 1024*64 limit here as close as possible so i chose: 65451 / 64 ~ 1022. note that afaict due to the way maxLength is implemented the frontend might not report an error when it should. this is due to character encodings and how javascript's string length property works. www/Makefile | 1 + www/NavigationTree.js | 6 ++++++ www/NodeNotes.js | 23 +++++++++++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 www/NodeNotes.js diff --git a/www/Makefile b/www/Makefile index 455fbeec..922d8de9 100644 --- a/www/Makefile +++ b/www/Makefile @@ -98,6 +98,7 @@ JSSRC= \ datastore/DataStoreList.js \ ServerStatus.js \ ServerAdministration.js \ + NodeNotes.js \ Dashboard.js \ ${TAPE_UI_FILES} \ NavigationTree.js \ diff --git a/www/NavigationTree.js b/www/NavigationTree.js index 576d05ab..916582ef 100644 --- a/www/NavigationTree.js +++ b/www/NavigationTree.js @@ -32,6 +32,12 @@ Ext.define('PBS.store.NavigationStore', { path: 'pbsDashboard', leaf: true, }, + { + text: gettext('Notes'), + iconCls: 'fa fa-sticky-note-o', + path: 'pbsNodeNotes', + leaf: true, + }, { text: gettext('Configuration'), iconCls: 'fa fa-gears', diff --git a/www/NodeNotes.js b/www/NodeNotes.js new file mode 100644 index 00000000..f8b253c4 --- /dev/null +++ b/www/NodeNotes.js @@ -0,0 +1,23 @@ +// Needs to be its own xtype for `path` to work in `NavigationTree` +Ext.define('PBS.NodeNotes', { + extend: 'Ext.panel.Panel', + xtype: 'pbsNodeNotes', + + scrollable: true, + layout: 'fit', + + items: [ + { + xtype: 'container', + layout: 'fit', + items: [{ + xtype: 'pmxNotesView', + tools: false, + border: false, + node: 'localhost', + enableTBar: true, + maxLength: 1022*64, + }], + }, + ], +}); -- 2.30.2