[pbs-devel] [PATCH proxmox-backup] ui: fix #4260: add dynamic notes in backup group comment
Dominik Csapak
d.csapak at proxmox.com
Mon Oct 2 09:30:32 CEST 2023
a few comments inline
On 9/29/23 14:30, Philipp Hufnagl wrote:
> When there is no comment for a backup group, the comment of the last
> snapshot in this group will be shown slightly grayed out as long as
> the group is collapsed.
>
> Signed-off-by: Philipp Hufnagl <p.hufnagl at proxmox.com>
> ---
> www/css/ext6-pbs.css | 3 +++
> www/datastore/Content.js | 17 ++++++++++++++---
> 2 files changed, 17 insertions(+), 3 deletions(-)
>
> diff --git a/www/css/ext6-pbs.css b/www/css/ext6-pbs.css
> index 5fd65d25..324f73b8 100644
> --- a/www/css/ext6-pbs.css
> +++ b/www/css/ext6-pbs.css
> @@ -226,6 +226,9 @@ span.snapshot-comment-column {
> display: inline-block;
> width: calc(100% - 18px);
> }
> +span.snapshot-comment-derived {
> + opacity: 0.7;
> +}
for such generic properties, i'd like to have more generic names,
e.g 'pmx-disabled' or 'pmx-faded' ?
>
> .x-action-col-icon.good:before {
> color: #21BF4B;
> diff --git a/www/datastore/Content.js b/www/datastore/Content.js
> index 9fc07d49..926aab89 100644
> --- a/www/datastore/Content.js
> +++ b/www/datastore/Content.js
> @@ -146,6 +146,7 @@ Ext.define('PBS.DataStoreContent', {
> leaf: false,
> iconCls: "fa " + cls,
> expanded: false,
> + comment: item.data.comment,
> backup_type: item.data["backup-type"],
> backup_id: item.data["backup-id"],
> children: [],
> @@ -287,6 +288,7 @@ Ext.define('PBS.DataStoreContent', {
> if (item["backup-time"] > last_backup && item.size !== null) {
> last_backup = item["backup-time"];
> group["backup-time"] = last_backup;
> + group["last-comment"] = item.comment;
> group.files = item.files;
> group.size = item.size;
> group.owner = item.owner;
> @@ -900,16 +902,25 @@ Ext.define('PBS.DataStoreContent', {
> flex: 1,
> renderer: (v, meta, record) => {
> let data = record.data;
> + let additional_classes = "";
i'd like for variables to be defined closer to where they are used,
namely
> if (!data || data.leaf || data.root) {
> return '';
> }
> - if (v === undefined || v === null) {
> - v = '';
> +
here
> + // when there is no group comment and the section is collapsed,
> + // display the most recent snapshot comment
> + if (v === undefined || v === null|| v === '') {
> + if (data.expanded === false) {
> + v = data['last-comment'];
is it guaranteed to be a stringe here? else i'd do :
v = data['last-comment'] ?? '';
(or do it at the assignment level above)
> + additional_classes = "snapshot-comment-derived";
> + } else {
> + v = '';
> + } > }
> v = Ext.String.htmlEncode(v);
> let icon = 'x-action-col-icon fa fa-fw fa-pencil pointer';
>
> - return `<span class="snapshot-comment-column">${v}</span>
> + return `<span class="snapshot-comment-column ${additinal_classes}">${v}</span>
please test your patches. i did not, but i can see clearly here that the additional classes
could not have worked, since you have a typo in them 'additinal_classes' vs 'additional_classes'
> <i data-qtip="${gettext('Edit')}" style="float: right; margin: 0px;" class="${icon}"></i>`;
> },
> listeners: {
More information about the pbs-devel
mailing list