all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [PATCH proxmox-backup] ui: fix #4260: add dynamic notes in backup group comment
@ 2023-09-29 12:30 Philipp Hufnagl
  2023-10-02  7:30 ` Dominik Csapak
  0 siblings, 1 reply; 3+ messages in thread
From: Philipp Hufnagl @ 2023-09-29 12:30 UTC (permalink / raw)
  To: pbs-devel

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@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;
+}
 
 .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 = "";
 		if (!data || data.leaf || data.root) {
 		    return '';
 		}
-		if (v === undefined || v === null) {
-		    v = '';
+
+		// 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'];
+		    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>
 		    <i data-qtip="${gettext('Edit')}" style="float: right; margin: 0px;" class="${icon}"></i>`;
 	    },
 	    listeners: {
-- 
2.39.2





^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [pbs-devel] [PATCH proxmox-backup] ui: fix #4260: add dynamic notes in backup group comment
  2023-09-29 12:30 [pbs-devel] [PATCH proxmox-backup] ui: fix #4260: add dynamic notes in backup group comment Philipp Hufnagl
@ 2023-10-02  7:30 ` Dominik Csapak
  2023-10-02  8:10   ` Philipp Hufnagl
  0 siblings, 1 reply; 3+ messages in thread
From: Dominik Csapak @ 2023-10-02  7:30 UTC (permalink / raw)
  To: Proxmox Backup Server development discussion, Philipp Hufnagl

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@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: {





^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [pbs-devel] [PATCH proxmox-backup] ui: fix #4260: add dynamic notes in backup group comment
  2023-10-02  7:30 ` Dominik Csapak
@ 2023-10-02  8:10   ` Philipp Hufnagl
  0 siblings, 0 replies; 3+ messages in thread
From: Philipp Hufnagl @ 2023-10-02  8:10 UTC (permalink / raw)
  To: Dominik Csapak, Proxmox Backup Server development discussion



On 10/2/23 09:30, Dominik Csapak wrote:
> 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@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' ?

That is a very good name. Ill make a V2
> 
>>     .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

Will do
> 
>> +        // 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)

I think it is garanteed since it comes from the backend. But I will
apply your suggestion to be sure
> 
>> +            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 actually tested it and I do not understand how that actually worked
at my side. Regardless sorry for this misstake. Ill fix it in the v2
> 
> 
>>               <i data-qtip="${gettext('Edit')}" style="float: right;
>> margin: 0px;" class="${icon}"></i>`;
>>           },
>>           listeners: {
> 
> 




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-10-02  8:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-29 12:30 [pbs-devel] [PATCH proxmox-backup] ui: fix #4260: add dynamic notes in backup group comment Philipp Hufnagl
2023-10-02  7:30 ` Dominik Csapak
2023-10-02  8:10   ` Philipp Hufnagl

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal