From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <aderumier@odiso.com>
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 C7DC060907
 for <pve-devel@lists.proxmox.com>; Mon, 30 Nov 2020 19:16:31 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
 by firstgate.proxmox.com (Proxmox) with ESMTP id B7AA299A2
 for <pve-devel@lists.proxmox.com>; Mon, 30 Nov 2020 19:16:01 +0100 (CET)
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [IPv6:2a00:1450:4864:20::32f])
 (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by firstgate.proxmox.com (Proxmox) with ESMTPS id F146F9992
 for <pve-devel@lists.proxmox.com>; Mon, 30 Nov 2020 19:15:59 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id a3so211455wmb.5
 for <pve-devel@lists.proxmox.com>; Mon, 30 Nov 2020 10:15:59 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=odiso-com.20150623.gappssmtp.com; s=20150623;
 h=subject:to:references:from:message-id:date:user-agent:mime-version
 :in-reply-to:content-transfer-encoding:content-language;
 bh=k2x2RaHNuVJciL19MIaWbxgspBhnaRjxVvDyP8EBCrM=;
 b=oEY4OL6B70OzgRyJvmqqBoLpGj9wgCZGTFqo6P3zo9CO9eFwluWKZawY3ZapcKezH5
 WzmcxED+njESf8NaIv9rQ5PfFPN9ZddRPbaL6T4/Fux9NSMPOuagNYsW/vzLkpNIo0OT
 udgzKt7cD+ty6TstnkuEk62y6N0mLxLIWR4IK+OFpQhpSWQi71MS2Rl28O331hib5j1v
 l44/gga/FvVtod6F/yZPQ3RZDTd/5E8xDon45xgZR4ZtkOgbWOqk5CDqj8t6FTQ0fLF0
 UmrFnO6ap3r6E2TwuM8m761q3B36Z6CTZkX37qBGKuuMkXkfl7R6Uok4J6JGEbG1w1uJ
 tLug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-transfer-encoding
 :content-language;
 bh=k2x2RaHNuVJciL19MIaWbxgspBhnaRjxVvDyP8EBCrM=;
 b=HdRfe/R/RzekjMVkIBVv5y/r9+B6e0BdGCErXyYBbCSD6So/5MQ34TNt+bJr/LkJmc
 A8HgnXIynXK2THpr8HSSIvj7ixTvREZkr6HfVML8ujsf+dRdavkbPYjWNUXLvcj48DcB
 SjzH8ypIku41/0ME8TOvfjILT6A5/FBPmU75p7hxcQETRHNvjCzlAYuFzKCx8R6swfpC
 a8RUwy6lDN1Cw+lsPIN15pZb7HW2v72CW6JsLgyESzPpdi/0OTqJKrtxyYurOOQrk1X8
 YMOxsbanqg9dw5PcVwaMP0l5Pk+K21mJGCYVmSNUa+V96IXH6/Y3hqpZbiuhbIpi9Omi
 zknA==
X-Gm-Message-State: AOAM532RKVBV70iWFj/9IRhJNaGq6d1ZP9VqjCAvjx0CIxIpO5HB64t2
 wAvUepeFxl3WNSF/WAAf645styt/8CgEpaH+lJs=
X-Google-Smtp-Source: ABdhPJxzvy1bzto7ira5HXgeGcqscvkJ7E7rlQugKpB6rKiAcke865TE/w+qL1+KoRkrSiz/zTOA3g==
X-Received: by 2002:a7b:c14f:: with SMTP id z15mr81560wmi.128.1606760153352;
 Mon, 30 Nov 2020 10:15:53 -0800 (PST)
Received: from ?IPv6:2a0a:1580:0:1::100c? (ovpn1.odiso.net.
 [2a0a:1580:2000::3f])
 by smtp.gmail.com with ESMTPSA id v12sm19103171wrt.4.2020.11.30.10.15.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Nov 2020 10:15:52 -0800 (PST)
To: Thomas Lamprecht <t.lamprecht@proxmox.com>,
 Proxmox VE development discussion <pve-devel@lists.proxmox.com>
References: <20201124135221.2856467-1-aderumier@odiso.com>
 <20201124135221.2856467-13-aderumier@odiso.com>
 <7c28f8ba-738a-4809-ab9b-4c11a9f565ef@proxmox.com>
From: alexandre derumier <aderumier@odiso.com>
Message-ID: <de6696b5-5ce7-f616-e672-9d78c995f237@odiso.com>
Date: Mon, 30 Nov 2020 19:15:50 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.4.3
MIME-Version: 1.0
In-Reply-To: <7c28f8ba-738a-4809-ab9b-4c11a9f565ef@proxmox.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-US
X-SPAM-LEVEL: Spam detection results:  0
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 NICE_REPLY_A           -0.001 Looks like a legit reply (A)
 RCVD_IN_DNSWL_NONE     -0.0001 Sender listed at https://www.dnswl.org/,
 no trust
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
Subject: Re: [pve-devel] [PATCH v7 pve-manager 12/15] sdn: display pending
 values
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
X-List-Received-Date: Mon, 30 Nov 2020 18:16:31 -0000

On 25/11/2020 17:17, Thomas Lamprecht wrote:
> On 24.11.20 14:52, Alexandre Derumier wrote:
>> Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
>> ---
>>   www/manager6/Utils.js              | 29 ++++++++++++++++++
>>   www/manager6/sdn/ControllerView.js | 39 +++++++++++++++++++++---
>>   www/manager6/sdn/SubnetView.js     | 49 +++++++++++++++++++++++++++---
>>   www/manager6/sdn/VnetView.js       | 31 +++++++++++++++++--
>>   www/manager6/sdn/ZoneView.js       | 47 +++++++++++++++++++++++++---
>>   5 files changed, 181 insertions(+), 14 deletions(-)
>>
>> diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js
>> index 5440b972..257af3fd 100644
>> --- a/www/manager6/Utils.js
>> +++ b/www/manager6/Utils.js
>> @@ -175,6 +175,35 @@ Ext.define('PVE.Utils', { utilities: {
>>   	'HEALTH_ERR':'critical'
>>       },
>>   
>> +    render_sdn_pending: function(rec,value,key, index) {
>> +        if (rec.data.state === 'deleted') {
>> +            if (value === undefined) {
>> +                return '';
>> +            } else {
>> +                return '<div style="text-decoration: line-through;">'+ value +'</div>';
>> +            }
>> +
>> +        } else if (rec.data.state === 'new') {
>> +            if(index === undefined) {
>> +                value = rec.data.pending[key];
>> +            }
>> +            if (value === undefined || value === null) {
>> +                value = '';
>> +            }
>> +            return '<div style="color:green">' + value + '</div>';
>> +        } else if (rec.data.state === 'changed') {
>> +            if (value === undefined || value === null) {
>> +                value = '<br>';
>> +            }
>> +            if (rec.data.pending[key] === undefined || rec.data.pending[key] === null) {
>> +                rec.data.pending[key] = value;
>> +            }
>> +           return '<div style="text-decoration: line-through;">'+ value +'</div>' + '<div style="color:orange">' + rec.data.pending[key] + '</div>';
>> +        } else {
>> +            return value;
>> +        }
>> +    },
>> +
>>       render_ceph_health: function(healthObj) {
>>   	var state = {
>>   	    iconCls: PVE.Utils.get_health_icon(),
>
> This feels really subtle as one initially has no idea why all is green, for
> example. Visually and contrast wise it looks also a bit weird, IMO.
>
> The strike-through for pending changes looks OK, I'd avoid the red though.
>
> Further, I'd avoid to use style on the whole row to mark something as
> pending-new or pending-change.
>
> How about using a dedicated Pending column, which shows the state in text
> form. You could checkout the render_backup_encryption helper[0] for how one
> can produce a combination of text, icons and even tooltips.
> (albeit the icon choice would be a bit hard here, so just text is fine too
> IMO).
>
> [0]: https://git.proxmox.com/?p=pve-manager.git;a=blob;f=www/manager6/Utils.js;h=6e6498a21919ca4dd2cb65ab02a1a1730d4c2d36;hb=HEAD#l224
>
>
Hi Thomas,

sorry it seem that I have some email client problem, and didn't see your 
message.

I'll rework it,with a pending state column.

I was thinking to display the pending changes with a tooltip on hover of 
this state.

(instead displaying a raw json)

I will look at render_backup_encryption too.

I'll try to send a new version this week.

thanks for the review !

Alexandre