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) server-digest SHA256) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 631529177D for ; Wed, 8 Feb 2023 11:29:39 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 4D6BCDBF1 for ; Wed, 8 Feb 2023 11:29:39 +0100 (CET) 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 for ; Wed, 8 Feb 2023 11:29:38 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 32F9946090 for ; Wed, 8 Feb 2023 11:29:38 +0100 (CET) Message-ID: <57dfc1f0-300a-f76e-eead-fc5bd3437ea0@proxmox.com> Date: Wed, 8 Feb 2023 11:29:36 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 To: Thomas Lamprecht , Proxmox VE development discussion References: <20230201115223.103313-1-m.heiserer@proxmox.com> <72aac4fa-0ddd-fa02-c027-9eb35e6f71bb@proxmox.com> Content-Language: en-US From: Matthias Heiserer In-Reply-To: <72aac4fa-0ddd-fa02-c027-9eb35e6f71bb@proxmox.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.355 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 NICE_REPLY_A -1.146 Looks like a legit reply (A) 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 widget-toolkit] ui: SMART: show SMART data in correct columns X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Feb 2023 10:29:39 -0000 On 07.02.2023 16:07, Thomas Lamprecht wrote: > Am 01/02/2023 um 12:52 schrieb Matthias Heiserer: >> Signed-off-by: Matthias Heiserer >> --- >> >> Sorry for the long delay! >> v1: https://lists.proxmox.com/pipermail/pve-devel/2022-July/053599.html >> Changes from v1: >> use Field.calculate as suggested by Dominik >> >> src/window/DiskSmart.js | 25 ++++++++++++++++++++++--- >> 1 file changed, 22 insertions(+), 3 deletions(-) >> >> diff --git a/src/window/DiskSmart.js b/src/window/DiskSmart.js >> index 3c8040b..490020d 100644 >> --- a/src/window/DiskSmart.js >> +++ b/src/window/DiskSmart.js >> @@ -38,12 +38,12 @@ Ext.define('Proxmox.window.DiskSmart', { >> }, >> { >> text: gettext('Value'), >> - dataIndex: 'raw', >> + dataIndex: 'real-value', >> renderer: Ext.String.htmlEncode, >> }, >> { >> text: gettext('Normalized'), >> - dataIndex: 'value', >> + dataIndex: 'real-normalized', >> width: 60, >> }, >> { >> @@ -154,7 +154,26 @@ Ext.define('Proxmox.window.DiskSmart', { >> Ext.define('pmx-smart-attribute', { >> extend: 'Ext.data.Model', >> fields: [ >> - { name: 'id', type: 'number' }, 'name', 'value', 'worst', 'threshold', 'flags', 'fail', 'raw', >> + { name: 'id', type: 'number' }, 'name', 'value', 'worst', 'threshold', 'flags', 'fail', >> + 'raw', 'normalized', >> + { >> + name: 'real-value', >> + calculate: function(data) { >> + if (data.normalized === undefined) { >> + return data.value; // FIXME remove with next major release (PBS 3.0) >> + } >> + return data.raw; >> + }, > > Couldn't we use a simple arrow fn? adding 1 instead of 6 line is quite the win > code readability and maintenance wise (it adds up quick ^^). E.g., something like: > > calculate: data => data.normalized ? data.raw : data.value, Right, I thought the long form is more readable. IIRC this doesn't work because normalized can be falsy, > > or if we want to lessen depending on JS's truthiness a bit (didn't recheck what the > API returns here for normalized): > > calculate: data => (data.normalized ?? false) ? data.raw : data.value, but this one should work. Will send a v2. > >> + }, >> + { >> + name: 'real-normalized', >> + calculate: function(data) { >> + if (data.normalized === undefined) { >> + return data.raw; // FIXME remove with next major release (PBS 3.0) >> + } >> + return data.normalized; > > same here w.r.t. arrow fn line "bloat" reduction, e.g.: > > calculate: data => data.normalized ?? data.raw For this also. > >> + }, >> + }, >> ], >> idProperty: 'name', >> }); >