Skip to content
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

[Time] Conductors and API Enhancements #6768

Merged
merged 117 commits into from Jul 19, 2023
Merged

[Time] Conductors and API Enhancements #6768

merged 117 commits into from Jul 19, 2023

Conversation

jvigliotta
Copy link
Contributor

@jvigliotta jvigliotta commented Jun 29, 2023

Closes #4975
Closes #5773

Describe your changes:

  • mode functionality added to TimeAPI
  • TimeAPI modified to always have a ticking clock
  • mode dropdown added to independent and regular time conductors
  • overall conductor appearance modifications and enhancements
  • TimeAPI methods deprecated with warnings
  • Significant updates to markup, styling and behavior of main Time Conductor and independent version.

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 change backwards compatible? For example, developers won't need to change how they are calling the API or how they've extended core plugins such as Tables or Plots.

Author Checklist

  • Changes address original issue?
  • Tests included and/or updated with changes?
  • Command line build passes?
  • Has this been smoke tested?
  • 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?
  • Has associated issue been labelled unverified? (only applicable if this PR closes the issue)
  • Has associated issue been labelled bug? (only applicable if this PR is for a bug fix)

charlesh88 and others added 30 commits June 28, 2023 11:55
- Moved IndependentTimeConductor.vue into BrowseBar.vue.
- Styling for read-only conductor views.
- VERY WIP!
- Significant CSS and markup work.
- Refinements to `c-icon-button` classes, including new `--compact` definition.
- Styling for independent and main conductor components.
- Code cleanups.
- STILL WIP!
- Added CSS class `is-expanded` to main view TC component.
- Markup and script moved into new timePopup* components.
- Significant work on styling.
- Theme constants augmented, better naming.
- Styling for new mini toggle slider switch.
- Fixed inputs popup layout with style and layout.
- More `$colorTime*` theme constants defined and applied.
- Better CSS organization.
- Stubbed buttons into popups.
- More `$colorTime*` theme constants defined and applied.
- Still quite WIP!
- Layout, display behavior.
- Hide functional buttons to be moved.
- Remove unneeded markup.
- Input widths for fixed popup date and time.
- Add new `c-not-button` class.
- Add new `u-flex-spreader` class.
- Code cleanups.
- Layout, display behavior for Time Conductor in layout frames.
- Code cleanups.
- Convert Time Conductor symbol to use SVG instead of font glyph
- Styling for Time Conductor in layout frames.
- CSS fix for to-be-deprecated division operation.
…t on the fly, this way we are prepping for vue 3 and we can use v-if to destroy it
…ogramatic to v-ifs, mostly focused on conductor at the moment, independent next
Copy link
Contributor

@shefalijoshi shefalijoshi left a comment

Choose a reason for hiding this comment

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

Some changes requested. And some questions

@@ -46,16 +46,17 @@ export default {
};
},
mounted() {
this.unlisten = ticker.listen(this.tick);
this.tick = raf(this.tick);
Copy link
Contributor

Choose a reason for hiding this comment

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

In Remote-Clock mode the indicator updates the time very slowly - once every few seconds.
Is this expected?

this.openmct.time.bounds(timeParameters.bounds);
const timeSystem = this.openmct.time.getTimeSystem();

if (timeParameters.mode === FIXED_MODE_KEY) {
Copy link
Contributor

Choose a reason for hiding this comment

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

We have no way of setting the clock anymore. Perhaps create a new issue for that?

@unlikelyzero unlikelyzero added the type:feature Feature. Required intentional design label Jul 17, 2023
unlikelyzero and others added 10 commits July 17, 2023 14:21
* Emit bounds events only when it's appropriate

* Optimize timeConductor plugin initialization

* add missing code to independent time conductor and timecontext

* Don't set fixed time bounds if no clock

* Check for bounds before emitting bounds on setMode

* modifying how imagery tests select realtime mode

* Update the API so that the setClock API no longer accepts the clockOffset.
Update the setMode API to accept offsets or fixed time bounds

* Update usages of setClock and setMode to pass the right bounds/clockOffsets

* Fix code based on test failures

* Default time value to openmct.time.now() instead of null

* Fix TimeAPI and set the clock and mode in test setup

---------

Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* add indepdendent time conductor to image view and add tests

* undo old changes

* fix tests and formatting

* add debugging

* get rid of deprecation warnings

* sort works

* change clocks

* imagery view works

* remove debug code

* linting

* resolve PR comments
shefalijoshi and others added 5 commits July 18, 2023 13:24
* modify openmct to set a default "local" clock if no other clock is set on load, make it so clocks are not started only when they get a listener and not stopped with they have no listeners, start/stop clocks in "setClock" method

* adding start/stop to independent time context as well

* had to modify a few things to get clock indicator test to work

* cleanup

* more cleanup

* reverting

* revert

* revert
@akhenry akhenry merged commit 42b5459 into master Jul 19, 2023
2 of 6 checks passed
@akhenry akhenry deleted the mode-dropdown branch July 19, 2023 00:32
@ozyx ozyx added this to the Target:3.0.0 milestone Jul 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:feature Feature. Required intentional design
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Global clock [Plots] Reduce space used by independent Time Conductors
7 participants