Several Chrome Operations frontends include sortable data tables. Let's share a single light-weight implementation of this common code, and make it easier to cross-collaborate.
Some of them also support grouping/nesting rows. Maybe grouping rows can be supported via optional mixin?
https://github.com/catapult-project/catapult/issues/3330
Trace viewer and results.html contain tr-ui-b-table, which uses Polymer 1, so not suitable for copy-pasting into modern Polymer 2/3/lit-html apps. It supports lots and lots of features including grouping and advanced gestures. Nearly 2000 LoC.
https://github.com/catapult-project/catapult/blob/master/tracing/tracing/ui/base/table.html
v2spa implements sorting and grouping in alerts-table using Polymer 2, interwoven with business logic.
Pinpoint appears to also implement sorting alongside its business logic using Polymer 1.
sheriff-o-matic uses vaadin-grid.
This bug can wait until more apps start switching to lit-html if we don't want to standardize on a Polymer 2 toolset.