public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Dominik Csapak <d.csapak@proxmox.com>
To: Erik Fastermann <e.fastermann@proxmox.com>, pbs-devel@lists.proxmox.com
Subject: Re: [PATCH proxmox-backup 1/1] fix #6691: allow search by comment in datastore.
Date: Thu, 30 Apr 2026 14:44:15 +0200	[thread overview]
Message-ID: <9cc836b3-121c-4514-bb8d-9c7205d2f186@proxmox.com> (raw)
In-Reply-To: <20260430103103.32588-2-e.fastermann@proxmox.com>



On 4/30/26 12:30 PM, Erik Fastermann wrote:
> Enable search by the comment field in the datastore content.
> 
> Also includes multiple small bug fixes:
> 
> - Display items again when searching by a non existing value and
>    clearing the search bar.
> - Correctly disable the remove box and tooltip for namespaces.
> - Correctly disable the browse box and tooltip for the root namespace.
> 


please send separate patches for these things to keep the git
history clean and making bisecting and changelog writing easier


a patch/commit for each issue (or very similar issues) would be good


otherwise comments inline

> Fixes: https://bugzilla.proxmox.com/show_bug.cgi?id=6691
> Signed-off-by: Erik Fastermann <e.fastermann@proxmox.com>
> ---
>   www/datastore/Content.js | 28 +++++++++++++++++++++-------
>   1 file changed, 21 insertions(+), 7 deletions(-)
> 
> diff --git a/www/datastore/Content.js b/www/datastore/Content.js
> index 1ec07505d..29b27eced 100644
> --- a/www/datastore/Content.js
> +++ b/www/datastore/Content.js
> @@ -941,6 +941,10 @@ Ext.define('PBS.DataStoreContent', {
>                   return true;
>               }
>   
> +            if (item.data.comment && item.data.comment.indexOf(value) !== -1) {
> +                return true;
> +            }
> +

a bit preexisting, but we might want to do the search case insensitive?
we could use 'localeCompare' with case sensitivity disabled here

>               return false;
>           },
>   
> @@ -963,7 +967,6 @@ Ext.define('PBS.DataStoreContent', {
>               // we do it a little bit later for the error mask to work
>               setTimeout(function () {
>                   store.clearFilter();
> -                store.getRoot().collapseChildren(true);

to which fix does this change belong? couldn't tell from the commit message

>   
>                   store.beginUpdate();
>                   store.getRoot().cascadeBy({
> @@ -1150,14 +1153,18 @@ Ext.define('PBS.DataStoreContent', {
>                           return Ext.String.format(gettext("Move namespace '{0}'"), v);
>                       },
>                       getClass: (v, m, { data }) => {
> -                        if (data.ty === 'group') { return 'fa fa-arrows'; }
> +                        if (data.ty === 'group') {
> +                            return 'fa fa-arrows';
> +                        }
>                           if (data.ty === 'ns' && !data.isRootNS && data.ns === undefined) {
>                               return 'fa fa-arrows';
>                           }
>                           return 'pmx-hidden';
>                       },
>                       isActionDisabled: (v, r, c, i, { data }) => {
> -                        if (data.ty === 'group') { return false; }
> +                        if (data.ty === 'group') {
> +                            return false;
> +                        }

these two hunks are only reformatting, please split that also out into a 
separate patch

>                           if (data.ty === 'ns' && !data.isRootNS && data.ns === undefined) {
>                               return false;
>                           }
> @@ -1210,7 +1217,12 @@ Ext.define('PBS.DataStoreContent', {
>                           data.ty === 'dir'
>                               ? 'fa critical fa-trash-o'
>                               : 'pmx-hidden',
> -                    isActionDisabled: (v, r, c, i, { data }) => false,
> +                    isActionDisabled: (v, r, c, i, { data }) =>
> +                        !(
> +                            (data.ty === 'ns' && !data.isRootNS && data.ns === undefined) ||
> +                            data.ty === 'group' ||
> +                            data.ty === 'dir'
> +                        ),
>                   },
>                   {
>                       handler: 'downloadFile',
> @@ -1235,12 +1247,14 @@ Ext.define('PBS.DataStoreContent', {
>                           return 'pmx-hidden';
>                       },
>                       isActionDisabled: (v, r, c, i, { data }) =>
> -                        !(
> +                        (!(
>                               data.ty === 'file' &&
>                               (data.filename.endsWith('.pxar.didx') ||
>                                   data.filename.endsWith('.mpxar.didx')) &&
>                               data['crypt-mode'] < 3
> -                        ) && data.ty !== 'ns',
> +                        ) &&
> +                            data.ty !== 'ns') ||
> +                        data.root,

meh this boolean logic is rather unreadable (before and after),
can you split that out into multiple statements so one
can see better what is happening?

>                   },
>               ],
>           },
> @@ -1486,7 +1500,7 @@ Ext.define('PBS.DataStoreContent', {
>           {
>               xtype: 'textfield',
>               reference: 'searchbox',
> -            emptyText: gettext('group, date or owner'),
> +            emptyText: gettext('group, date, owner or comment'),
>               triggers: {
>                   clear: {
>                       cls: 'pmx-clear-trigger',





      reply	other threads:[~2026-04-30 12:44 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-30 10:31 [PATCH proxmox-backup 0/1] fix #6691: allow search by comment in datastore Erik Fastermann
2026-04-30 10:31 ` [PATCH proxmox-backup 1/1] " Erik Fastermann
2026-04-30 12:44   ` Dominik Csapak [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9cc836b3-121c-4514-bb8d-9c7205d2f186@proxmox.com \
    --to=d.csapak@proxmox.com \
    --cc=e.fastermann@proxmox.com \
    --cc=pbs-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal