Make narrowing click handlers work more generally.

Previously, narrowing would only work from recipient rows, not
other message table rows (e.g. summary rows).  This led to the trap
that you could add a narrows_by_recipient class to an element,
expect that narrowing would work, but the actual handler would
break or silently fail if it weren't part of a recipient row.

Now the click handler looks for the closest table row (tr).  It's
encapsulated in rows.get_closest_row(), so if we go to a
non-table-based design, it should be easy to address in one
place.

(imported from commit e116b7573c4bb06599ced84a0adcf8dc23d63593)
This commit is contained in:
Steve Howell
2013-08-27 11:09:27 -04:00
parent 071415ae93
commit 03b58e1528
2 changed files with 11 additions and 2 deletions

View File

@@ -52,6 +52,13 @@ exports.get_table = function (table_name) {
return $('#' + table_name);
};
exports.get_closest_row = function (element) {
// This gets the closest message row to an element, whether it's
// a summary bar, recipient bar, or message. With our current markup,
// this is the most reliable way to do it.
return $(element).closest("tr");
};
return exports;
}());