mirror of
https://github.com/gradio-app/gradio.git
synced 2025-04-06 12:30:29 +08:00
Improve select event behaviour in gr.Dataframe (#9654)
* add last_selected prop * add changeset --------- Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com> Co-authored-by: Dawood Khan <dawoodkhan82@gmail.com>
This commit is contained in:
parent
2735e89cd8
commit
cd7dab7ba5
6
.changeset/moody-feet-dream.md
Normal file
6
.changeset/moody-feet-dream.md
Normal file
@ -0,0 +1,6 @@
|
||||
---
|
||||
"@gradio/dataframe": patch
|
||||
"gradio": patch
|
||||
---
|
||||
|
||||
fix:Improve select event behaviour in gr.Dataframe
|
@ -56,8 +56,10 @@
|
||||
const get_data_at = (row: number, col: number): string | number =>
|
||||
data?.[row]?.[col]?.value;
|
||||
|
||||
let last_selected: [number, number] | null = null;
|
||||
|
||||
$: {
|
||||
if (selected !== false) {
|
||||
if (selected !== false && !dequal(selected, last_selected)) {
|
||||
const [row, col] = selected;
|
||||
if (!isNaN(row) && !isNaN(col) && data[row]) {
|
||||
dispatch("select", {
|
||||
@ -65,6 +67,7 @@
|
||||
value: get_data_at(row, col),
|
||||
row_value: data[row].map((d) => d.value)
|
||||
});
|
||||
last_selected = selected;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -353,9 +356,11 @@
|
||||
header_edit = false;
|
||||
selected_header = false;
|
||||
editing = false;
|
||||
selected = [i, j];
|
||||
await tick();
|
||||
parent.focus();
|
||||
if (!dequal(selected, [i, j])) {
|
||||
selected = [i, j];
|
||||
await tick();
|
||||
parent.focus();
|
||||
}
|
||||
}
|
||||
|
||||
type SortDirection = "asc" | "des";
|
||||
@ -478,7 +483,7 @@
|
||||
editing = false;
|
||||
header_edit = false;
|
||||
selected_header = false;
|
||||
selected = false;
|
||||
reset_selection();
|
||||
active_cell = null;
|
||||
active_cell_menu = null;
|
||||
active_header_menu = null;
|
||||
@ -760,6 +765,11 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function reset_selection(): void {
|
||||
selected = false;
|
||||
last_selected = null;
|
||||
}
|
||||
</script>
|
||||
|
||||
<svelte:window
|
||||
|
Loading…
x
Reference in New Issue
Block a user