Skip to content

Commit 36a9a37

Browse files
committed
fix(display): add row hover effect for nested data rows
1 parent 21a5d5c commit 36a9a37

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

bigframes/display/table_widget.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,38 @@ function render({ model, el }) {
237237
}
238238
});
239239

240+
// Add hover effect for flattened rows
241+
const rows = tableContainer.querySelectorAll('tbody tr');
242+
rows.forEach((row) => {
243+
row.addEventListener('mouseover', () => {
244+
const origRow = row.getAttribute('data-orig-row');
245+
if (origRow !== null) {
246+
const groupRows = tableContainer.querySelectorAll(
247+
`tr[data-orig-row="${origRow}"]`,
248+
);
249+
groupRows.forEach((r) => {
250+
r.querySelectorAll('td').forEach((cell) => {
251+
cell.classList.add('row-hover');
252+
});
253+
});
254+
}
255+
});
256+
257+
row.addEventListener('mouseout', () => {
258+
const origRow = row.getAttribute('data-orig-row');
259+
if (origRow !== null) {
260+
const groupRows = tableContainer.querySelectorAll(
261+
`tr[data-orig-row="${origRow}"]`,
262+
);
263+
groupRows.forEach((r) => {
264+
r.querySelectorAll('td').forEach((cell) => {
265+
cell.classList.remove('row-hover');
266+
});
267+
});
268+
}
269+
});
270+
});
271+
240272
updateButtonStates();
241273
}
242274

0 commit comments

Comments
 (0)