only applied patch 1 so far. On Wednesday, 10/28/2026, 16:15, Nicolas Frey wrote: >From : Nicolas Frey Sent on : Wednesday, 10/28/2026, 16:15 To : yew-devel@lists.proxmox.com Subject : [PATCH proxmox-yew-widget-toolkit 1/5] widget: data table: simplify lookup of keys near the cursor Signed-off-by: Nicolas Frey --- src/widget/data_table/data_table.rs | 25 ++++++ ------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/src/widget/data_table/data_table.rs b/src/widget/data_table/data_table.rs index 5d04173..e846522 100644 --- a/src/widget/data_table/data_table.rs +++ b/src/widget/data_table/data_table.rs @@ -620,27 +620,16 @@ impl PwtDataTable {     // avoid slow search by lookup up keys nearby cursor first     fn filtered_record_pos(&self, props: &DataTable, key: &Key) -> Option {         if let Some(Cursor { pos, .. }) = &self.cursor { -            let test_pos = *pos; -            if let Some(record_key) = props.store [http://props.store/].lookup_filtered_record_key(test_pos) { -                if &record_key == key { +            for test_pos in [Some(*pos), pos.checked_add(1), pos.checked_sub(1)] +                .into_iter() +                .flatten() +            { +                if let Some(record_key) = props.store [http://props.store/].lookup_filtered_record_key(test_pos) +                    && &record_key == key +                {                     return Some(test_pos);                 }             } - -            let test_pos = pos + 1; -            if let Some(record_key) = props.store [http://props.store/].lookup_filtered_record_key(test_pos) { -                if &record_key == key { -                    return Some(test_pos); -                } -            } -            if *pos > 0 { -                let test_pos = pos - 1; -                if let Some(record_key) = props.store [http://props.store/].lookup_filtered_record_key(test_pos) { -                    if &record_key == key { -                        return Some(test_pos); -                    } -                } -            }         }         props.store [http://props.store/].filtered_record_pos(key) -- 2.47.3