From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [IPv6:2a0f:8001:1:32::40]) by lore.proxmox.com (Postfix) with ESMTPS id 1D78A1FF0B7 for ; Fri, 16 Oct 2026 09:42:29 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 93052213E2; Fri, 16 Oct 2026 09:42:28 +0200 (CEST) MIME-Version: 1.0 Date: Fri, 16 Oct 2026 07:42:22 +0000 Subject: Re: [PATCH yew-widget-toolkit v4 0/2] data table: auto width In-Reply-To: <20261015124047.3536357-1-d.csapak@proxmox.com> References: <20261015124047.3536357-1-d.csapak@proxmox.com> X-Mailer: BlueMind-MailApp-v5 Message-ID: From: Dietmar Maurer To: Dominik Csapak Content-Type: multipart/alternative; boundary="-=Part.49ca.70bd67a483158440.1a143a95cc9.cdc194f364e73499=-" X-Bm-Parsing-Options: encoded-parts X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1792136542628 X-SPAM-LEVEL: Spam detection results: 0 AWL 2.138 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy HTML_MESSAGE 0.001 HTML included in message KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) KAM_SHORT 0.001 Use of a URL Shortener for very short URL RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: ZNIC5CJMDY6AFGEBG5WYJVTVTZ2HETY7 X-Message-ID-Hash: ZNIC5CJMDY6AFGEBG5WYJVTVTZ2HETY7 X-MailFrom: dietmar@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: yew-devel@lists.proxmox.com X-Mailman-Version: 3.3.10 Precedence: list List-Id: Yew framework devel list at Proxmox List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: ---=Part.49ca.70bd67a483158440.1a143a95cc9.cdc194f364e73499=- Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable As discussed offline, passing a store insteadfof records would solve the tree rendering problem too=2E We just need some IntoPrototypeStore trait to make this more usable (accept single record, multiple records or a store) On Thursday, 10/15/2026, 14:38, Dominik Csapak = wrote: >>From : Dominik Csapak Sent on : Thursday, 10/15/2026, 14:38 To : yew-devel@lists=2Eproxmox=2Ecom Subject : [PATCH yew-widget-toolkit v4 0/2] data table: auto width replaces the previous single patch[0]=2E It needs an upfront refactor so there is an additional patch now=2E changes from v3: * new patch: factor out the cell rendering loop of the table rows, so =C2=A0it can be reused for the sample records (for colspan) * cache the rendered sizers and only recalculate them when the relevant =C2=A0properties change, instead of on every render * move the debug assertion into the sizer calculation, so it also =C2=A0covers property updates, and fix it to allow exactly =C2=A0VIRTUAL_SCROLL_TRIGGER records * fix typos * improve comments Dominik Csapak (2): =C2=A0widget: data table: factor out cell rendering logic =C2=A0widget: data table: implement auto column sizing based on sample =C2=A0 =C2=A0records src/widget/data_table/data_table=2Ers =C2=A0 =C2=A0| 117 ++++++++++++++++= +++++++-- src/widget/data_table/header_widget=2Ers | =C2=A046 ++++++++++ src/widget/data_table/mod=2Ers [http://mod=2Ers/] =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 | =C2=A0 5 +- src/widget/data_table/rendered_cell=2Ers | =C2=A063 +++++++++++++ src/widget/data_table/row=2Ers [http://row=2Ers/] =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 | =C2=A066 +++++--------- 5 files changed, 247 insertions(+), 50 deletions(-) create mode 100644 src/widget/data_table/rendered_cell=2Ers --=20 2=2E47=2E3 ---=Part.49ca.70bd67a483158440.1a143a95cc9.cdc194f364e73499=- Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
As discussed offline, passing a store insteadfof rec= ords would
solve the tree rendering problem too= =2E We just need some
IntoPrototypeStore trait = to make this more usable (accept 
single r= ecord, multiple records or a store)

On Thursday, 10/15/2026, 14:38, Dominik Csapak <d=2Ecsapak@pr= oxmox=2Ecom> wrote:

From  : Dominik C= sapak <d=2Ecsapak@proxmox=2Ecom>
Sent on  : Thursday, 10/15/2026, 14:38
To : yew-devel@lists=2Eproxmox=2Ecom
Subject : [PATCH yew-widget-toolkit v4= 0/2] data table: auto width

replaces the previous single = patch[0]=2E It needs an upfront refactor so there is an additional patch no= w=2E changes from v3: * new patch: factor out the cell rendering loop of t= he table rows, so  it can be reused for the sample records (for colsp= an) * cache the rendered sizers and only recalculate them when the relevant=  properties change, instead of on every render * move the debug asse= rtion into the sizer calculation, so it also  covers property updates= , and fix it to allow exactly  VIRTUAL_SCROLL_TRIGGER records * fix t= ypos * improve comments Dominik Csapak (2):  widget: data table: fac= tor out cell rendering logic  widget: data table: implement auto colu= mn sizing based on sample    records src/widget/data_table/dat= a_table=2Ers    | 117 +++++++++++++++++++++++-- src/widget/data_= table/header_widget=2Ers |  46 ++++++++++ src/widget/data_table/mod=2Ers &= nbsp;         |   5 +- src/widget/data_table/rend= ered_cell=2Ers |  63 +++++++++++++ src/widget/data_table/row=2Ers   &= nbsp;       |  66 +++++--------- 5 files changed, 247 = insertions(+), 50 deletions(-) create mode 100644 src/widget/data_table/re= ndered_cell=2Ers -- 2=2E47=2E3
<= br>
---=Part.49ca.70bd67a483158440.1a143a95cc9.cdc194f364e73499=---