Skip to content

feat: Add "Show in Table" button to event groups in Workflow History Timeline#1171

Merged
adhityamamallan merged 7 commits intocadence-workflow:masterfrom
adhityamamallan:impl-table-scroll
Feb 17, 2026
Merged

feat: Add "Show in Table" button to event groups in Workflow History Timeline#1171
adhityamamallan merged 7 commits intocadence-workflow:masterfrom
adhityamamallan:impl-table-scroll

Conversation

@adhityamamallan
Copy link
Member

@adhityamamallan adhityamamallan commented Feb 16, 2026

Summary

  • Add "Show in Table" button to event groups in Workflow History Timeline, to highlight event groups in the Workflow History tables
  • Remove the onClick functionality from the timeline event bar
  • Increase tooltip entry time to 600ms (and define it in a constant instead of hardcoding it)
  • Increase spacing between event tabs and action buttons from scale400 (12px) to scale1200 (48px)

Test plan

Added & updated unit tests + ran locally.

Screen.Recording.2026-02-16.at.16.50.13.mov
Screen.Recording.2026-02-16.at.16.51.26.mov

Depends on #1169

@adhityamamallan adhityamamallan force-pushed the impl-table-scroll branch 2 times, most recently from 3f51e83 to 578feeb Compare February 16, 2026 15:55
@adhityamamallan adhityamamallan marked this pull request as ready for review February 16, 2026 15:57
Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>
Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>
- Add 'Show in table' button to group details component
- Pass onClickShowInTable through timeline event group
- Remove click-on-bar navigation (replaced by explicit button)
- Increase gap in actions row for better spacing

Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>
Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a dedicated “Show in table” action for event groups shown in the Workflow History Timeline, aligning timeline↔table navigation with the related “Show in timeline” work (PR #1169). It also removes direct click behavior from the timeline bar and tweaks related UI timing/spacing.

Changes:

  • Add “Show in table” button to timeline event-group details (popover content) and plumb the callback through types/components.
  • Remove onClick behavior (and pointer cursor styling) from the timeline bar itself.
  • Introduce a constant for tooltip entry delay and increase it to 600ms; increase actions-row spacing in group details.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/views/workflow-history-v2/workflow-history-timeline/workflow-history-timeline.tsx Wires “Show in table” from the timeline popover content; removes bar click; uses new tooltip delay constant.
src/views/workflow-history-v2/workflow-history-timeline/workflow-history-timeline.styles.ts Removes cursor-pointer styling tied to the removed bar click behavior.
src/views/workflow-history-v2/workflow-history-timeline/workflow-history-timeline.constants.ts Adds TIMELINE_ITEM_TOOLTIP_ENTRY_DELAY_MS = 600.
src/views/workflow-history-v2/workflow-history-timeline/tests/workflow-history-timeline.test.tsx Updates imports and removes the obsolete “click bar” behavior test.
src/views/workflow-history-v2/workflow-history-timeline-event-group/workflow-history-timeline-event-group.types.ts Adds required onClickShowInTable prop.
src/views/workflow-history-v2/workflow-history-timeline-event-group/workflow-history-timeline-event-group.tsx Passes onClickShowInTable through to group details.
src/views/workflow-history-v2/workflow-history-timeline-event-group/tests/workflow-history-timeline-event-group.test.tsx Updates test setup to include new required prop.
src/views/workflow-history-v2/workflow-history-group-details/workflow-history-group-details.types.ts Adds optional onClickShowInTable prop.
src/views/workflow-history-v2/workflow-history-group-details/workflow-history-group-details.tsx Renders new “Show in table” button when handler is provided.
src/views/workflow-history-v2/workflow-history-group-details/workflow-history-group-details.styles.ts Increases spacing between tabs and action buttons.
src/views/workflow-history-v2/workflow-history-group-details/tests/workflow-history-group-details.test.tsx Adds tests for presence/absence and click behavior of the new button.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 170 to +176
<WorkflowHistoryTimelineEventGroup
eventGroup={row.group}
decodedPageUrlParams={decodedPageUrlParams}
onClickShowInTable={() => {
onClickShowInTable(row.id);
close();
}}
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The popover is triggered only on hover and the trigger element appears to be a non-focusable div, so the new “Show in table” action inside the popover is effectively mouse-only. Consider making the timeline item focusable (e.g., add tabIndex/role/aria-label) and/or switching to a trigger that supports keyboard access (click/focus) so keyboard and assistive-tech users can open the popover and reach its buttons.

Copilot uses AI. Check for mistakes.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, tooltip accessibility will need to be addressed in a future change

Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>
Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>
Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>
@adhityamamallan adhityamamallan merged commit fe16cc9 into cadence-workflow:master Feb 17, 2026
3 checks passed
Assem-Uber pushed a commit to Assem-Uber/cadence-web that referenced this pull request Feb 19, 2026
…Timeline (cadence-workflow#1171)

* Add "Show in Table" button to event groups in Workflow History Timeline, to highlight event groups in the Workflow History tables
* Remove the onClick functionality from the timeline event bar
* Increase tooltip entry time to 600ms (and define it in a constant instead of hardcoding it)
* Increase spacing between event tabs and action buttons from scale400 (12px) to scale1200 (48px)

Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>
Assem-Uber added a commit that referenced this pull request Feb 20, 2026
* fix decode params in cluster methods

* fix url decode in worfklow actions APIs

* refactor: Move history scroll handlers to dedicated hook (#1156)

* Move code for Workflow History V2 scroll handlers (scroll to event, scroll up, scroll down) and variables (Virtuoso refs) to dedicated React hook
* Fix a minor bug with scrollToEvent where it would not work with the first event

Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>

* refactor: rename onClickEvent to onClickShowInTable in Workflow History Timeline (#1157)

* To prepare for moving the click handling for events to a dedicated "Show in table" button, this PR renames the onClickEvent handler to onClickShowInTable

Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>

* Lift timeline state up to workflow history root (#1158)

Lift timeline state up from WorkflowHistoryHeader to WorkflowHistoryV2, allowing sub-components in the list to open the timeline if necessary.

Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>

* refactor: Use groupId from Event Groups entries instead of firstEventId in Workflow History Timeline (#1160)

Instead of setting the row ID as the firstEventId for Workflow History Timeline rows, this PR passes the groupId (which, in practice, is the exact same thing) to the getTimelineRowFromEventGroup helper

Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>

* fix: Show correct error banner message when failing to load domains from some clusters  (#1162)

Problem
When the Cadence UI fails to connect to some clusters to load domains, we show an error banner with the list of problematic clusters. However, this banner currently lists all clusters instead of just the problematic ones. This is due to a mistake in the logic for evaluating problematic clusters.

Solution
Fix the logic for evaluating problematic clusters
Break the getAllDomains helper up into separate helpers for better testability

Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>

* fix: Add cron schedule descriptions to Workflow History V2 components (#1163)

Add natural-language Cron descriptions (implemented in #1151) to Workflow History V2 details parsers config

Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>

* fix: Use ClustersConfigs type in getAllDomains unit test (#1165)

* Use server-side ClustersConfigs type and existing clusters configs fixtures in unit test for getAllDomains, to prevent getConfigValue's spy from assuming that it's of type PublicClustersConfigs (client-side)
* Rename setup param to clustersConfigs from clusterConfigs, to match the type

Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>

* fix: Add explicit "Copy link" text to history event link copy button (#1166)

* Add explicit "Copy link" text to history event link copy button in accordance with existing designs, to make the button's intent clearer without needing to hover on it
* Remove the "Copy link to event" tooltip that shows up when user initially hovers on the link button

Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>

* feat: Add timeline scroll handler & target to useWorkflowHistoryScroll (#1167)

* Add timeline Virtuoso ref, scroll handler and scroll target (event group) to useWorkflowHistoryScroll, to use for timeline <-> table integration

Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>

* feat: Warning message when no workers are available for a task list (#1168)

Signed-off-by: Yoav Levy <yoavlev2@gmail.com>

* feat: Add "Show in Timeline" button to event groups in grouped Workflow History table (#1169)

* Add timeline scroll handler in useWorkflowHistoryScroll hook with similar pattern to existing table scroll
* Add "Show in timeline" button in event group details panel that scrolls to and highlights the group in the timeline
* Implement animation effect for highlighted timeline rows using 2-second fade transition

Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>

* feat: Add "Show in Table" button to event groups in Workflow History Timeline (#1171)

* Add "Show in Table" button to event groups in Workflow History Timeline, to highlight event groups in the Workflow History tables
* Remove the onClick functionality from the timeline event bar
* Increase tooltip entry time to 600ms (and define it in a constant instead of hardcoding it)
* Increase spacing between event tabs and action buttons from scale400 (12px) to scale1200 (48px)

Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>

* feat: Add "Show in Timeline" button to events in ungrouped Workflow History table (#1170)

* Add the Show in Timeline button (added in #1169) to the ungrouped Workflow History table
* Add groupId to UngroupedEventsInfo
* Move createUngroupedEventsInfo test util to fixtures directory

Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>

* fix: Improper wrapping & overflow on Workflow Summary page (#1174)

* Rewrite the styles to use a simpler grid-based layout, distributing the space evenly between the summary details and the JSON panels
* Allow the workflow title to overflow onto multiple lines

Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>

* fix: Constrain size of group details tooltip in Workflow History timeline (#1176)

* Constrain max width of the tooltip to 800px
* Add an isScrollable prop to WorkflowHistoryEventDetails, constraining the height of non-panel details to 250px and making them scrollable if true
* Pass this prop through from WorkflowHistoryTimelineEventGroup

Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>

* feat: Dynamically resize history timeline for running workflows (#1172)

* Add hook useCurrentTimeMs to accurately calculate the current time every second, instead of letting it be recalculated only on rerenders.
* Add hook useSteppedDomainMaxMs to calculate the timeline's max domain based on events and current time
Change the implementation of getTimelineMaxTimeMs to take current time as a parameter instead of calling Date.now() inside it
* For running events without an end time (so, any running events besides timers), use current time as the bar's end point, so that bars smoothly expand
* Add an outline to the timeline component
* Move header padding to timeline container margin (still size400/16px)
* Remove border between header cells

Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>

* fix: double decode params in cluster methods middleware (#1180)

* fix decode params in cluster methods

* fix double decoding

* add search attribute api

* fix: Stop click propagation when clicking on Workflow History summarized details (#1175)

* Add new field hasClickableContent to details row item config, which is set if the item is meant to be clickable
* Set this field to true for all existing links
* Call e.stopPropagation() in the details entry onClick handler to prevent the click from propagating to parents, if hasClickableContent is true


Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>

* refactor: Move types from workflow-history.types.ts to workflow-history-v2.types.ts (#1177)

* Move Workflow History types from v1 folder to v2 folder, to prepare for changes to history event group computation
* Refactor v2 code to use the types from workflow-history-v2.types.ts

Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>

* fix: Double decode issue for summary page (#1183)

* fix decode params in cluster methods

* fix double decoding

* fix double encoding for summary page

* revert search attributes changes

---------

Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>
Signed-off-by: Yoav Levy <yoavlev2@gmail.com>
Co-authored-by: Adhitya Mamallan <adhitya.mamallan@uber.com>
Co-authored-by: Yoav Levy <yoavlev2@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants