perfetto-ui: Highlight track shell when current search result in track
- Also encapsulated the opening and scrolling to track inside track
group inside the verticalScrollToTrack method.
- And removed an unnecessary check for if the current search result
is in the visible window, don't move to it - this is handled inside
scrollToTrackAndTs method anyway.
Change-Id: If56568d7a51789338db5f6044f536bd0c52621c8
diff --git a/ui/src/frontend/track_panel.ts b/ui/src/frontend/track_panel.ts
index 1af0ef0..3d3a8a7 100644
--- a/ui/src/frontend/track_panel.ts
+++ b/ui/src/frontend/track_panel.ts
@@ -49,11 +49,24 @@
}
view({attrs}: m.CVnode<TrackShellAttrs>) {
- const dragClass = this.dragging ? `.drag` : '';
- const dropClass = this.dropping ? `.drop-${this.dropping}` : '';
+ // The shell should be highlighted if the current search result is inside
+ // this track.
+ let highlightClass = '';
+ const searchIndex = globals.frontendLocalState.searchIndex;
+ if (searchIndex !== -1) {
+ const trackId = globals.currentSearchResults
+ .trackIds[globals.frontendLocalState.searchIndex];
+ if (trackId === attrs.trackState.id) {
+ highlightClass = 'flash';
+ }
+ }
+
+ const dragClass = this.dragging ? `drag` : '';
+ const dropClass = this.dropping ? `drop-${this.dropping}` : '';
return m(
- `.track-shell${dragClass}${dropClass}[draggable=true]`,
+ `.track-shell[draggable=true]`,
{
+ class: `${highlightClass} ${dragClass} ${dropClass}`,
onmousedown: this.onmousedown.bind(this),
ondragstart: this.ondragstart.bind(this),
ondragend: this.ondragend.bind(this),