debug: add logging to record_clicked to trace click events

This commit is contained in:
yumoqing 2026-05-29 13:55:30 +08:00
parent 456e8d4e01
commit d83f91e951
2 changed files with 6 additions and 0 deletions

View File

@ -41,9 +41,11 @@ bricks.Tabular = class extends bricks.DataViewer {
}
async record_clicked(row, record, event){
var r = event.target.bricks_widget;
bricks.debug('record_clicked', 'row=', row, 'record=', record, 'target=', event.target, 'targetWidget=', r);
// Prevent click on interactive elements (links, buttons, inputs) from triggering selection
var target = event.target;
if (target && (target.tagName === 'A' || target.tagName === 'BUTTON' || target.tagName === 'INPUT' || target.tagName === 'SELECT' || target.tagName === 'TEXTAREA')) {
bricks.debug('record_clicked: skip interactive element', target.tagName);
return;
}
@ -65,6 +67,7 @@ bricks.Tabular = class extends bricks.DataViewer {
} else {
row.set_css('tabular-row-selected');
}
bricks.debug('record_clicked: row selected, dispatching row_selected');
this.dispatch('row_selected', row.user_data);
}
}

3
dist/bricks.js vendored
View File

@ -13033,9 +13033,11 @@ bricks.Tabular = class extends bricks.DataViewer {
}
async record_clicked(row, record, event){
var r = event.target.bricks_widget;
bricks.debug('record_clicked', 'row=', row, 'record=', record, 'target=', event.target, 'targetWidget=', r);
// Prevent click on interactive elements (links, buttons, inputs) from triggering selection
var target = event.target;
if (target && (target.tagName === 'A' || target.tagName === 'BUTTON' || target.tagName === 'INPUT' || target.tagName === 'SELECT' || target.tagName === 'TEXTAREA')) {
bricks.debug('record_clicked: skip interactive element', target.tagName);
return;
}
@ -13057,6 +13059,7 @@ bricks.Tabular = class extends bricks.DataViewer {
} else {
row.set_css('tabular-row-selected');
}
bricks.debug('record_clicked: row selected, dispatching row_selected');
this.dispatch('row_selected', row.user_data);
}
}