Skip to content

Discrete Event Visualization in Timeline #7967

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 85 commits into from
Jul 26, 2025

Conversation

scottbell
Copy link
Contributor

@scottbell scottbell commented Dec 18, 2024

Closes #7936

Describe your changes:

Adds a discrete event visualization for the Time Strip object.

All Submissions:

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  • Is this a notable change that will require a special callout in the release notes? For example, will this break compatibility with existing APIs or projects that consume these plugins?

Author Checklist

  • Changes address original issue?
  • Tests included and/or updated with changes?
  • Has this been smoke tested?
  • Have you associated this PR with a type: label? Note: this is not necessarily the same as the original issue.
  • Have you associated a milestone with this PR? Note: leave blank if unsure.
  • Testing instructions included in associated issue OR is this a dependency/testcase change?

Reviewer Checklist

  • Changes appear to address issue?
  • Reviewer has tested changes by following the provided instructions?
  • Changes appear not to be breaking changes?
  • Appropriate automated tests included?
  • Code style and in-line documentation are appropriate?

scottbell and others added 30 commits December 9, 2024 10:32
- Removed in-page `style` defs from ExtendedLinesOverlay.vue; CSS actually located in timeline.scss.
- Improved sizing and style for Marcus Bains ("now") line.
- Removed extraneous padding at bottom of plot view when in Time Strip.
- Added missing header info to timeline.scss.
- CSS refinements.
- Removed bad `}` in TimeSystemAxis.vue.
- Removed `.u-contents` from line 129 of ganttChart.e2e.spec.js.
- Removed `event-handle` element; not needed.
- Changed `__event-wrapper` to not set height explicitly; uses absolute positioning.
- Added :before element to event-wrapper for better hit area.
- Improved hover styling.
- $colorEvent* style constants added to theme constant SCSS files.
- Layout converted to set `min-height` on top-most `c-swimlane` element.
Interior containers now use 100% height or absolute positioning.
- Removed `c-timeline-holder` from `c-events-tsv` in EventTimelineView.vue;
Refactored `c-events-tsv__contents` to be `js-events-tsv` as that was being used as a reference.
- New theme constant `eventLineW` sets event lines to be 1px wide for more precision.
- Removed event handle again.
if (!clientWidth) {
//this is a hack - need a better way to find the parent of this component
const parent = this.openmct.layout.$refs.browseObject.$el;
// Fallback: use the actual container element (the immediate parent)
Copy link
Contributor

Choose a reason for hiding this comment

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

I vaguely recall .parentElement not working in some specific cases for planView, but maybe that's not an issue here. I'll test.

}

return {
key: type,
name: 'Event Timeline View',
cssClass: 'icon-event',
priority: function () {
return 6000; // big number!
// We want this to be higher priority than the TelemetryTableView
return openmct.priority.HIGH + 1;
Copy link
Contributor

Choose a reason for hiding this comment

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

Rather than making the timeline view HIGH + 1 I think we should just make the TelemetryTableView the lowest priority. Like, it's basically the default for all telemetry types.

Copy link
Contributor

Choose a reason for hiding this comment

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

There are 3 qualifying views when you're trying to visualize events in the timeline view: Telemetry Table, LAD Table and Event timeline view.
The TelemetryTableView has a priority of 1.
The LAD Table has a priority of HIGH.
The Event timeline has a priority of HIGH+1

This is why it's priority is HIGH+1. I think we need to review view priorities in general though.


return selection;
},
createSelectionForInspector(event, eventWrapper) {
Copy link
Contributor

Choose a reason for hiding this comment

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

@akhenry akhenry added the pr:e2e:couchdb npm run test:e2e:couchdb label Jul 26, 2025
@github-actions github-actions bot removed the pr:e2e:couchdb npm run test:e2e:couchdb label Jul 26, 2025
@akhenry akhenry added this to the 4.1.1 milestone Jul 26, 2025
@akhenry akhenry dismissed stale reviews from unlikelyzero and shefalijoshi July 26, 2025 00:42

.

@akhenry akhenry merged commit 76b22a7 into master Jul 26, 2025
24 of 26 checks passed
@akhenry akhenry deleted the 7936-add-discrete-event-visualization branch July 26, 2025 00:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
notable_change A change which should be noted in the changelog type:feature Feature. Required intentional design
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add discrete event visualization
5 participants