Commit Graph

8102 Commits

Author SHA1 Message Date
Andrew Henry
db74abd1e3 Support adding with index from the Composition API. Refactor out 'skipMutate' flag. 2026-03-04 12:49:26 -08:00
Andrew Henry
2bdad9c306 Some example code demonstrating dynamic composition providers 2026-03-03 15:37:11 -08:00
Scott Bell
98a5b223d2 Derived Telemetry Prototype (#7815)
* skeleton for comps

* more scaffolding

* more drafts

* worker ready

* telemetry is null for some reason

* can add two sin waves

* adding works

* exact values enabled

* subscriptions work

* slowing adding gui

* fix plots

* rudimentary expression editor

* correctly persist

* parameters

* can take arbitrary expressions

* styles and timing for loading worker

* ui works kinda

* need to figure out ranger

* works with time

* timesystem works

* get rid of batch for now

* gui still leaking data

* memory conserved

* styles

* fix initial load

* expression validator

* fix test data

* do not persist

* persist after adding

* fix editing issues

* mutate when parameters or expression changes

* implement output format

* implement output format

* be consistent with output key

* add icons and fix errant telemetry

* lint

* lint

* use key instead of name

* Style enhancements for Derived Telemetry object
- Closes #7823
- Font files updated - do not merge!
- New glyph and data URI background for object.

* Style enhancements for Derived Telemetry object
- Closes #7823
- Tweak to object description.

* Enhancements for Derived Telemetry object
- Closes #7823
- Added new `ObjectPathString.vue` UI component, based on `ObjectPath.vue`.

* Style enhancements for Derived Telemetry object
- Closes #7823
- Significant mods for style and CSS classing. Still WIP, more coming.

* Enhancements for Derived Telemetry object
- Closes #7823
- Code cleanup and tweaks.

* do not apply test data when edit mode changes to false

* Revert "do not apply test data when edit mode changes to false"

This reverts commit eac4676cad.

* trying this again without blowing away the very pretty styling

* clean up composition effects

* allow deleting of parameters

* can chain and plot derived data

* can delete properly

* Enhancements for Derived Telemetry object
- Closes #7823
- Updated Derived Telemetry glyph design.
- Set `CompsViewProvider.js` to use the correct icon.

* handle arrays and add skeleton tests

* Enhancements for Derived Telemetry object
- Closes #7823
- Final sanding and polishing.
- New discrete item style `c-output-featured` added to controls.scss
  - Applied to 'Current Output' section of both Derived Telemetry and Condition Sets.
- TODOs:
  - [ ] Check for low-risk regressions in Condition Sets browse and edit modes.
  - [ ] New tests for ObjectPathString.vue component.

* add tests

* ensure output format propagates

* add output format test

* add some basic object path label tests

* good job code scanner. changing to or condition

* refactor aria labeling

* pass options on request to underlying collections

* ensure derived DERIVED telemetry loads in the proper order. also have telemetry collections prioritize request options over clock

* fix domains

* ensure we only ask for latest for comp editor

* improvement in loading

* fix slow loading errors

* more telemetry collection changes to acommodate bound changes

* more debug just in case

* stacked plots are overriding telemetry object configurations

* some changes

* add new flag to deal with plots asking for zoomed out data that should be ignoring clock

* works

* add sample size

* check if sample size greater than zero

* ensure number for sample size

* ensure we have a reference value before we slice

* can do derived derived accumulated comps now

* ensure we are checking for not equal

* add a few more awaits

* allow blank test values for arrays

* check for blank test values

* change to just value

* impute requested data properly

* fix output and add accumulation label

* update output when comp changes

* remove unused function

* add placeholder

* support lambda values

* reduce size

* widen size to accomodate sample size

* removing debug statements for PR review

* Closes #7823
- Markup/CSS sanding and shimming for derived telemetry front-end.
- Toggle switch CSS improved to use `gap` instead of left margin.

* Update package lock for new package versions

* Move composition policy to it's own file. Fix expression evaluation bug for truthy/falsy

* fix lint spelling

* Use the telemetry collection's timeKey for timestamps

* Revisit code to use bounds provided by options to telemetryCollections

* Refactor bounds handling to clarify intent. Remove TelemetryCollection.load() returning a promise and use event handlers instead.

* destroy and reload the telemetry collection on reload

* Update package-lock.json:

* Fix lint error

* Clean rebuild of package-lock.json

* Update e2e package lock as well

* Don't use method calls in vue templates

* fix linting issue

* Change plugin name to Derived Telemetry

* Install the derived telemetry plugin for tests before running them

* Tweaks to spacing to correct visual regression.

---------

Co-authored-by: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Co-authored-by: Scott Bell <scott@cynthia-macbook.fritz.box>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Shefali <simplyrender@gmail.com>
Co-authored-by: Andrew Henry <andrew.k.henry@nasa.gov>
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
2026-02-25 13:33:17 -08:00
Shefali Joshi
95701a69eb Dynamically determine number of ticks depending on canvas width (#8223)
* Add canvas width based utc time ticks with predictable nice ticks

* Make dynamic ticks work for all x-axis types

* Adds support for non-numeric x-axis values

* Fix e2e tests to property assert ticks given the improved dynamic count algorithm
2026-02-23 14:47:59 -08:00
Andrew Henry
b476d1e0ce Increase priority of operator status indicator (#8257)
* Increase priority of operator status indicator

* Add additional assertion to ensure there are multiple indicators

* Added some assertions to tighten up the test
2026-02-13 20:39:57 +00:00
David Tsay
97bd576a60 Allow all yamcs events types to be added to timelines (#8256)
add all yamcs events types
deprecate `yamcs.event.specific.severity`
2026-02-13 10:58:47 -08:00
Jamie V.
a7c0301530 [Condition Sets] Gracefully handle no telemetry (#7997)
* Handle no data returned from condition sets.

---------

Co-authored-by: Shefali <simplyrender@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
2026-02-09 22:01:46 +00:00
Andrew Henry
9838aeb1ad Make snapshot tests a little more deterministic (#8255)
* Make snapshot tests a little more deterministic

* Remove unused imports

* Submit rather than discarding TC changes
2026-02-09 12:34:41 -08:00
Shefali Joshi
56a53fde22 Wait for Tree and Inspector pane transitions to complete before testing a11y (#8253)
* Use expand tree and expand inspector utility functions for display layout and planning tests
2026-02-06 12:44:01 -08:00
Andrew Henry
670449a493 Updated playwright and fixed some test flake (#8248)
* Updated playwright

* Updated package-lock.json after recent changes

* Fixed flakey notebook test

* Fixed janky test

* Fix text jank

* Playwright broke our test

* Fix timer test that cannot possibly have worked

* Fix flake in visual tests

* Remove networkIdle wait. It's not super reliable to begin with, and seems to behave differently in recent Playwright

* Retire impossible test

* Remove redundant search test

* Fixed non-deterministic network test

* Added requestfinished to dictionary

* Restore eslint exception for networkidle

* Fixed lint error

* use clear() instead of fill('')

* Don't use nth

* Use text identifiers rather than indexes to reference cells

* Fix typo

* Tighten up network delay
2026-02-03 11:30:35 -08:00
Rin
2050af4b67 chore(deps): update vulnerable dependencies and bump node version to 20.x (#8226)
Resolved multiple high/critical security vulnerabilities (targeting axios, express, qs, node-forge) and upgraded Node.js engines to 20.x LTS for better stability and performance.

Co-authored-by: Andrew Henry <akhenry@gmail.com>
2026-01-28 10:38:10 -08:00
Andrew Henry
2ffa8881f9 Migrate Circle CI to Github actions (#8233)
* Dry run new Github actions

* Remove legacy CircleCI configuration

* Fix flake

* Optimizations

* Disabled unstable snapshot test.

* Speed up builds

* Increase sharding

* Fix label

* Fix git directory ownership issue

* Clean up and optimization

* Use deps from more jobs

* Remove label trigger

* Updated browserlist finally

* Fix playwright issue

* Bump timeout slightly since the runner is under a little more pressure now

* Build unit tests from scratch

* Fixed flakey test

* Increase sharding again

* Remove references to Circle CI

* Trying to optimize workflow

* Fix dependency issue

* Try again

* Remove third party dependency

* Fix git check issue

* Add an option to do a clean build:

* Added dependencies back in

* Fixing bugs

* Removed MMOC project

* Start again

* Need to check out first

* Cache hit check

* Check if cache hit

* debugging

* Debugging

* Reuse cache key job

* Adding should build flag to support forced clean builds

* Simplifying logic

* Simplify again

* Remove label if needed

* Run unit tests

* Cache dist as well

* Update label

* parameterize node version

* Add dist to the cache path

* Github restore

* Add e2e tests

* Cleaning up e2e run configuration

* Oops, remove circleci reference

* Remove playwright container

* Playwright install

* Use playwright container for caching

* Remove chrome install step. Assume already available from playwright container

* Trying to cache playwright browsers

* Don't use playwright container for unit tests

* Fixed flakey telemetry table test

* Restore visual, mem, and perf tests

* Always run couch tests

* Restore e2e node modules as well

* Cache paths have to match because they are part of the cache version information

* Add Percy token

* Always upload artifacts

* More descriptive names

* Removed nightly for now, will come back to it
2026-01-28 10:00:38 -08:00
Andrew Henry
0e5468d8df Fix percy snapshots (#8240)
* Suppress clock indicator for nightly

* Only run visual a11y tests on espresso theme

* Revert a11y change - will put in separate PR
2026-01-20 13:51:26 -08:00
David Tsay
acccc3a2c3 Respect latest available staleness prior to time conductor start (#8211)
* add clearStaleness method since === SKIP_CHECK flag

* fix logic for updating staleness
* should be inclusive to start and end bounds
* should respect prior to start bounds if stale
* should not show staleness for after end bounds

* add `ExampleStalenessProvider`
update telemetry api jsdocs for staless provider

* move sine wave staleness tests into appropriate folder location

* convert `StateGenerator` into class

* clean up coding style

* use timesystem key and now() from openmct time api

* fix `ExampleStalenessProvider` initial conditions
install `ExampleStalenessProvider` by default in index.html

* Revert "fix logic for updating staleness"
To allow contribution from marcelo-earth

This reverts commit 3baef169f7.

* Refactor shouldUpdateStaleness to accept updates based on timestamp

* clarify comment
remove unused code

* fix import paths

* clean up staleness provider
write e2e test for staleness

* fix 404s to example imagery breaking e2e tests

---------

Co-authored-by: Marcelo Arias <hello@marceloarias.com>
2026-01-05 13:43:58 -08:00
Jamie V.
4ab98ffef0 Add Correlation Telemetry Plugin (#8216)
* adding the plugin file

* adding to available plugins list

* this update makes it so you can see the items selected for correlation in the edit form, previously they would be blank

* fixed incorrect formatting for locator field vue compnent, removed unnecessary openmct arg from correlation plugin

* spelling fix

* add test for correlated telemetry, update subscribe to telemetry util function and move to app actions

* checking timestamps match so we are correctly checking correlated telemetry

* Rename utility function to align with its implementation details

---------

Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Andrew Henry <andrew.k.henry@nasa.gov>
2025-12-17 02:31:08 +00:00
Charles Hacskaylo
a0a06cf7d2 Better overflow and wrapping in Status area (#7850)
* Enhancements for better wrapping of Status Area icons
- Added `headCanWrap` stored property, and toggle button.
- CSS mods, cleanup.

* Enhancements for better wrapping of Status Area icons
- New glyphs for `icon-multiline` and `icon-singleline`.
- Refinements to button labels and titles for clarity.

* Enhancements for better wrapping of Status Area icons
- Add code and CSS for toggling single/multiline display of indicators.
- Add code to detect overflow state of indicators.

* Enhancements for better wrapping of Status Area icons
- WIP, but is working!
- TODOs:
  - Make sure this is a good way to do things.
  - Cleanup code.
  - Tests.

* Enhancements for better wrapping of Status Area icons
- Fixed CSS classing on collapse/expand button.
- New method added for storing head props in local storage.
- TODOs:
  - Make sure using Update hook is performant.
  - Tests.

* Code cleanup.

* - Now uses Watch instead of Update to handle changes from containing AppLayout.vue component.
- Code cleanup, console.log removals.

* - Fixed CSS which was causing the head to collapse when browser window is very small and Indicators running to multiple lines.
- Fixed CSS which was causing the height and alignment problems in the head.

* use `resizeObserver` instead of window listeners
safer access to `localStorage` initial state
ie. legacy localStorage having `expanded` but not `multiline`

* framework for e2e tests

* add aria-label to `Status Indicators`

* e2e test for expand and collapse indicators

* e2e test for single line mode

* reuse `firstIndicator` locator

* e2e test for overflow indication
refactor to reuse variables
refactor to use `test.step`s instead of comments

* e2e test for both toggles working in conjunction

* e2e test for `localStorage` persistence

* new visual snapshots
* time conductor - add single/multi line toggle button
* autoscale - 1 more pixel in status area

* Fix tests that relied on changed button text

* Hide clock for percy snapshots

* Hide clock for percy snapshots take 2

---------

Co-authored-by: David Tsay <david.e.tsay@nasa.gov>
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
Co-authored-by: Andrew Henry <andrew.k.henry@nasa.gov>
2025-12-17 00:54:27 +00:00
Andrew Henry
5d457c925b Add root composition provider, and support dynamic root objects (#8209)
* Add root composition provider, and support dynamic root objects
* Support providers with an 'appliesTo' function instead of namespace
* lint stuff
* eval source maps for testing new providers
* remove eval source map
* Only emit root remove event when root is actually removed
---------

Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
2025-12-16 20:11:27 +00:00
David Tsay
3f495ca982 Time conductor refactor (#7818)
* add missing licensing comment

* use vue component naming convention

* script, template, style

* Revert "script, template, style"

This reverts commit c8f8a098f2.

* create useTimeSystem composable

* forgot to push useTimeSystem

* extend useTimeSystem to return reactive formatters

* return reactive isUTCBased

* add useTimeMode composable
fix listener in useTimeSystem

* add useTimeBounds composable

* add useClockOffsets composable
documentation update to useTimeBounds

* WIP change replication in time api calls to use composables
many things broken
will need refactor to account for independent time conductor

* missed file in commit

* use composables for conductor mode

* create useClock composable
code clean up

* whoops. mistook prettier red squiggly for code not used red squiggly.

* vue naming convention

* change composables to allow for timeContexts

* change timeContexts to be reactive to objectPath
reactivity fixes to composables

* reactivity and non fixes

* use `shallowRef` for clock object

* WIP: get independent time contexts working again

* vue component naming conventions

* WIP: mostly fixed independent time conductor

* provide timecontext even if its the global/timeapi for shared components

* incorporate provided timecontext into independant time conductor components

* better jsdoc message

* fix missing clock on independent time mode change

* switch to reactive formatter for zoom

* use reactive timecontext in fixed inputs

* use reactive clock props
cleanup unused variables

* edit for clarity

* remove unused injection

* change ITC to use composables

* update to use composables

* rename because need both datetime and time inputs

* make message universal to all timeSystems

* only change time options if independent conductor enabled
re-use timeContext across composables

* make date time only for supporting time systems

* fix css for bounds single inputs

* time formats can specify date/time delimiters

* move history out of form
remove unused gear icon
remove debugging code

* handle toggle independent time

* v-if logic one component up

* add back date selector

* fix datetime fixed validation

* combine time composables into one
lint fix

* fix single datetime fixed input validation
clean up shouldDismiss modal behavior

* correct jsdocs

* this v-if is not in use

* optional `formatDate` method can be defined to split date and time
refine `UTCTimeFormat`'s `format` method and valid formats

* fix split date time inputs test

* copy and paste into split date time inputs

* fix validation and reporting of inputs on paste

* validate against same start and end fixed time bounds
alter verbiage for validation of offsets to match that of bounds

* better jsdocs

* remove deprecated file

* vue component name linting

* fix e2e test label locator

* more specific locator

* fix reactivity for independent time conductor

* convert `IndependentTimeConductor.vue` to use vue3 composition api

* fix throttle on bounds

* safety check on dom element

* follow mode properly in ITC

* fix standard time conductor not having a `useIndependentTime` value

* provide and use `currentValue`

* change timeOptions on path change
lint fix

* fix saved `timeOptions` `bounds` being overwritten by `bounds`

* no more settings icon for independent time conductor pop-up

* fix warning message verbiage

* remove timeout since time conductor is now reactive

* add copy/paste functionality to single datetime inputs

* computeds don't need to be manually set

* explain `formatDate` in documentation

* allow pasting millisecond precision into split date/time inputs

* remove log per review comment
https://github.com/nasa/openmct/pull/7818#discussion_r2535418644

* add tsdoc to plugin
* deprecate records in configuration.menuOption
* reconds should be in configuration

* pass time conductor configuration to independent TC
https://github.com/nasa/openmct/pull/7818#discussion_r2535711788

* fix limit validation
requires provide of `timeSystemKey` and `configuration`

* ensure matching clock and timesystem on change

* make switch clock and time system more resilient

* fix failing notebook visual test

* update visual snapshots
diff - remove gear icon
diff - add history icon

---------

Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
2025-12-15 22:47:55 +00:00
David Tsay
c8de7dcafd Adds new check to clearData that enables data clearing on overlay plots. (#8214)
Co-authored-by: Peter Di Pasquale <peter.di.pasquale@jpl.nasa.gov>
2025-12-15 22:02:43 +00:00
Andrew Henry
c912c3ae5a Simplify Open MCT bootstrapping (#8203)
* Ensure the body is loaded before trying to bootstrap Open MCT

* null vs undefined. It's just not worth it ECMA, it's really not.

* Support specifying target element by selector so that resolution can be deferred until after the body is loaded

* Add test to verify that Open MCT bootstrapping works as expected

* Update API doc on bootstrapping Open MCT

* Add black starting page to support bootstrapping Open MCT from scratch

* Tweaked docs

* Fixed prettier problems

* Added additional validity checks and fail-fast paths for developers
2025-12-08 13:58:59 -08:00
Shefali Joshi
16a9ced493 Feature plot better utc ticks (#8139)
* Initial prototype of UTC timestamp ticks

* draft tick changes

* Refactor time-series ticks

* Add e2e test for time ticks

* Better comments and variable names and some formatting

* Fix tests broken due to new implementation of ticks
2025-11-20 19:31:24 +00:00
Charles Hacskaylo
76e324815f Time Strip fixes for overflow and Inspector layout (#8170)
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
2025-11-12 12:38:07 -08:00
Andrew Henry
263ad97062 8184 couch requests views failing (#8185)
* All telemetry criteria bug (#8084)
* Reference telemetry map as a Map, not associative array
* Only normalize once
* Another cheeky createNormalizedDatum
* Fix unit tests that were broken by removal of createNormalizedDatum
* Fixed failing test
* Don't double stringify requests to views
* Add E2E test to catch 400 errors due to double stringification
* Removed files AGAIN
* Use design documents in testing
2025-11-04 19:06:34 +00:00
Charles Hacskaylo
896d77a79e Remove "+" and "-" from formattedItem.countdown in ExpandedViewItem.vue (#8172)
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
2025-10-09 13:42:13 -07:00
Shefali Joshi
2494e2fc05 Marcus banes line ahead behind (#8149)
* Cherry picked only the ahead/behind code from the giant PR

* Add situational awareness configuration

* Improve settings label

* Adds new interceptor for plan execution monitoring object to store execution monitoring information

* Add support for saving plan executio monitoring in the inspector.

* #8091 CSS and HTML for MB line and ahead/behind in Inspector

- CSS tweaks to align MB line properly.
- CSS and HTML for Plan Config tab "Execution Monitoring" section.

* #8091 Changed label for Plan Execution Inspector section

* Propagate new plan execution monitoring settings to the plan and gantt chart views

* move if statement to outerdiv for units

* Remove ahead behind code from configuration

* Fix inspector view keys to be unique
Use props for plan execution monitoring status for reuse

* Address review comments: re-use existing constants and refactor code to be more readable

* Add variables accidentally removed during conflict resolution

* Fixed imports.

* remove focused tests

---------

Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
2025-10-06 11:51:36 -07:00
Charles Hacskaylo
be54feda0a Store and retrieve the view type, per object type (#8068)
* Allow user to set machine-based preferences for main object views.
- WIP
- BrowseBar.vue now stores view selection when viewSwitcher component is invoked as localstorage object 'openmct-stored-view-prefs'.
- Browse.js in `#viewObject` looks for an existing value in 'openmct-stored-view-prefs' and uses it.
- TODO: stored pref currently overrides `view` querystring parameters, but shouldn't.

* Allow user to set machine-based preferences for main object views.
- Browse.js now sets currentViewKey in the right spot.
  - Changes in #viewObject reset.

* Allow user to set machine-based preferences for main object views.
- Style tweaks to `c-list-view` when used in object-type folder.
- Added missing copyright header to list-view.scss.

* Fixed linting errors

* Add test for Folder 'List View' persistence

- Closes #1395.
- Update .gitignore to not check in Webstorm test config file.

---------

Co-authored-by: Andrew Henry <akhenry@gmail.com>
2025-10-03 13:00:29 -07:00
Charles Hacskaylo
569c7fffe3 Expanded Time List enhancements for #8091 (#8095)
* Markup and CSS changes for expanded Activities in Time List
- Significant markup and CSS changes.
- Activities now use Plan colors.
- Greatly improved narrow space and wrapping.
- Added new global data uri's for status icons.
- Added new global `gear-spinner` animation for in-progress Activity status icon.
- Added new global `absCenter` mixin.
- Revised and greatly simplified execution status and time context labels.
- Revised, refined past/current/future styling and theme colors.
- Status icon coloring added to theme constants.
- Updated other themes constants for new approach to bg/fg/em.
- Smoke tested in Espresso and Snow themes.

* Remove unused imports

* Remove unused and commented out code

* Remove progress pie tests as that widget no longer exists

* lint fix

* remove tests for progress pie as it no longer exists

---------

Co-authored-by: Shefali <simplyrender@gmail.com>
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
2025-09-17 16:19:02 -07:00
Andrew Henry
5872b9006d Adjustable swimlanes merge attempt 2 (#8138)
* Move ResizeHandle to reusable ui location
* Changes for user-settable swimlane heights.
* resize widths for all swimlane labels
* make drag resizer more scalable
* add resize handles to time strip views
* Moved many CSS defs from flexible-layout.scss into new mixin `resizeHandleStyle`.

---------

Co-authored-by: David Tsay <david.e.tsay@nasa.gov>
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
2025-08-27 12:57:12 -07:00
Andrew Henry
de07086bcf Cherry pick 8084 (#8121)
* All telemetry criteria bug (#8084)

* Reference telemetry map as a Map, not associative array

* Only normalize once

* Another cheeky createNormalizedDatum

* Fix unit tests that were broken by removal of createNormalizedDatum

* Fixed failing test

* Remove notes files accidentally committed
2025-08-14 11:48:54 -07:00
David Tsay
5893b2deea Update SECURITY.md and CONTRIBUTING.md to address security risk of externally provided code (#8129)
* update CONTRIBUTING.md to include CLA info from discussions/3821

* update SECURITY.md to include risk of externally provided code disclaimer

* remove hard line breaks for better change control
2025-08-06 15:48:03 -07:00
Scott Bell
76b22a7a49 Discrete Event Visualization in Timeline (#7967)
Implements timeline visualization of discrete events such as Events and Commands
* Closes #7960

Co-authored-by: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Co-authored-by: Shefali <simplyrender@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
2025-07-25 17:44:19 -07:00
Shefali Joshi
bd27bf9962 Update View priorities (especially making telemetry table and plot priorities LOW ) (#8115)
* Make Telemetry tables and plots have priority of LOW
Change default view priority to return 0 instead of 100 when no priority is specified.
Change priority of Filter inspector from DEFAULT (0) to LOW (-1000).
Change priority of condition set view to return DEFAULT rather than 100 when viewed as table or plot.
Remove priority of 1 for some views. These should now return the default view priority.
Remove priority of 100 for Display Layout view.
Remove priority of 1000 for Fault management Inspector view and MMGIS data visualization inspector view.
Remove priority of Default (0) for Plot elements inspector view.

* fix wrong variable name

* Remove unused import

* Remove LAD Table priority of 100. Use Default instead

* Remove commented out code

* Revert Inpsector view priorities to ensure expected user experience
2025-07-24 15:00:29 -07:00
Jamie V.
f4637b8ac7 [Telemetry Tables] Ability to hide manually added Name column (#8042)
* add name header so it shows in hide columns options
2025-06-13 15:04:38 -07:00
Jamie V.
826c7134b5 Make Plot "Export as PNG/JPG" default filenames more clear and make the methods extendable (#8070)
* add filename argument and update default name
* add filename argument and update default name
* allow the invoke function to accept a filename to pass to the view actions
* tests
* remove invalid chars from filenames, another test for that
* replace periods with underscores as they may be useful in a name
2025-05-20 13:38:55 -07:00
Jamie V.
fa1a45b6cd [Inspector Tabs] Updates (#7987)
* added getTypes to types api, modifying which tabs are shown, working on annoatation tab
* moving hasNumericTelemetry to an api method
* updated types api to return all types, updated annotations api to return annotatable types, cleaned up use of hasNumericTelemetry elsewhere in the code

* Changes for tabs visibility and priority
- Alphanumeric formatting tab set to default priority while editing, low priority during browse.
- Good styling for Format tab contents in browse mode.
- Properties tab set to low priority during editing, default during browse.
- Make Elements pool visible in browse mode, omit edit capabilities.
- Edit and browse mode priorities for Properties and Elements.
- Adjusted edit and browse mode priorities for Properties and Elements.
- Priority set for Gantt view.
- Priorities set for Graph, Lad Table, Scatter Plot, Telem Tables and Time List views.
- Changed several Inspector tab names to 'Config'; tests and other code changed to target `key` instead of `name`:
  - LAD Table
  - Time List - will need regression testing for change noted re. `key` above.
- Created browse mode read-only Inspector views:
  - LAD Table, Lad Table set.
  - Telemetry Table.
  and `showTab` functions; `showTab` has just been set to true for now.
to prevent it from displaying when no filters can be set.
- Plot plugin.js now adds configuration.objectStyles {} for overlay and stacked plots on initialize.
- FiltersView now displays a message for telem sources that don't have filter criteria available.
- Annotations tab now set to never display when a view is being edited.
- Added `objectStyles: {}` to initialize functions for multiple objects:
  - Condition Widget
  - Gauge
  - LAD Table

---------

Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
2025-05-15 16:55:15 -07:00
Andrew Henry
10bc8eb55d Condition sets failing to evaluate telemetry where source and key do not match in metadata (#8065)
normalize should map from source to key
2025-05-14 11:55:47 -07:00
Andrew Henry
2e7fb94dd5 Condition Sets can incorrectly evaluate telemetry objects that update infrequently (#8041)
* Remove short-circuit logic

* Revert change to remove short-circuit logic

* Restore short-circuit evaluation, pass in current values

* V2, restore short-circuit eval

* Added timestamp checking for individual criteria

* Some optimizations

* Co-authored-by: Pranaykarvi<pranaykarvi@gmail.com>

* Fixed bug that prevented test data from working at all

* Fixed bug introduced by refactor. Oops.

* Fixed bug with test data

* Provided clarification in test description

* Replaced legacy tests with new e2e test of correct telemetry evaluation

* some markup changes to improve testability

* Address review comments

* Fixed linting error

* Fixed broken tests

* Fixed long-standing bug with evaluating enums

* Fixed broken tests

* Fixed linting error

* remove commented code

test name grammar fix

---------

Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
2025-05-14 08:32:35 -07:00
Andrew Henry
573bbb041e Fix partial matches (#8047)
Support character escaping
2025-04-24 16:41:12 +00:00
Andrew Henry
6a450a0e89 Couch search indexes (#8037)
* Defined search index for object names. Add index for searching by object type
* Feature detect if views are defined to support optimized search. If not, fall back on filter-based search
* Suppress github codedcov annotations for now, they are not accurate and generate noise.
* Allow nested describes. They're good.
* Add a noop search function to couch search folder object provider. Actual search is provided by Couch provider, but need a stub to prevent in-memory indexing
* Adhere to our own interface and ensure identifiers are always returned by default composition provider
2025-04-23 11:58:51 -07:00
Andrew Henry
e5631c9f6c Marked sanitize html (#8021)
* chore(deps-dev): bump sanitize-html from 2.12.1 to 2.15.0

Bumps [sanitize-html](https://github.com/apostrophecms/sanitize-html) from 2.12.1 to 2.15.0.
- [Changelog](https://github.com/apostrophecms/sanitize-html/blob/main/CHANGELOG.md)
- [Commits](https://github.com/apostrophecms/sanitize-html/compare/2.12.1...2.15.0)

---
updated-dependencies:
- dependency-name: sanitize-html
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* bump marked

* Added package lock:

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-03 09:03:23 -07:00
dependabot[bot]
15b5d1405d chore(deps-dev): bump webpack-merge from 5.10.0 to 6.0.1 (#8017)
Bumps [webpack-merge](https://github.com/survivejs/webpack-merge) from 5.10.0 to 6.0.1.
- [Changelog](https://github.com/survivejs/webpack-merge/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/survivejs/webpack-merge/compare/v5.10.0...v6.0.1)

---
updated-dependencies:
- dependency-name: webpack-merge
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
2025-04-01 15:52:06 -07:00
dependabot[bot]
0377788533 chore(deps-dev): bump uuid from 9.0.1 to 11.1.0 (#8018)
Bumps [uuid](https://github.com/uuidjs/uuid) from 9.0.1 to 11.1.0.
- [Release notes](https://github.com/uuidjs/uuid/releases)
- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v9.0.1...v11.1.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
2025-04-01 15:27:29 -07:00
dependabot[bot]
28dcff7e89 chore(deps-dev): bump copy-webpack-plugin from 12.0.2 to 13.0.0 (#8015)
Bumps [copy-webpack-plugin](https://github.com/webpack-contrib/copy-webpack-plugin) from 12.0.2 to 13.0.0.
- [Release notes](https://github.com/webpack-contrib/copy-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/copy-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/copy-webpack-plugin/compare/v12.0.2...v13.0.0)

---
updated-dependencies:
- dependency-name: copy-webpack-plugin
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
2025-04-01 14:30:27 -07:00
dependabot[bot]
b191eb9d64 chore(deps-dev): bump npm-run-all2 from 6.1.2 to 7.0.2 (#8014)
Bumps [npm-run-all2](https://github.com/bcomnes/npm-run-all2) from 6.1.2 to 7.0.2.
- [Release notes](https://github.com/bcomnes/npm-run-all2/releases)
- [Changelog](https://github.com/bcomnes/npm-run-all2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bcomnes/npm-run-all2/compare/v6.1.2...v7.0.2)

---
updated-dependencies:
- dependency-name: npm-run-all2
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
2025-04-01 13:39:07 -07:00
Andrew Henry
f8e4aba922 Update all remaining dependencies in one go (#8011)
* Update all remaining dependencies in one go

* Support changed marked API

* Adapt to use new library

* Removed commented code

* Fixed typo in anchor tag
2025-04-01 13:21:13 -07:00
dependabot[bot]
28f6987dd7 chore(deps-dev): bump jasmine-core from 5.1.1 to 5.5.0 (#7952)
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.1.1 to 5.5.0.
- [Release notes](https://github.com/jasmine/jasmine/releases)
- [Changelog](https://github.com/jasmine/jasmine/blob/main/RELEASE.md)
- [Commits](https://github.com/jasmine/jasmine/compare/v5.1.1...v5.5.0)

---
updated-dependencies:
- dependency-name: jasmine-core
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-28 16:19:20 -07:00
dependabot[bot]
f3047093d6 chore(deps): bump codecov/codecov-action from 4 to 5 (#7931)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-28 16:01:58 -07:00
dependabot[bot]
34e57ef300 chore(deps-dev): bump nyc from 15.1.0 to 17.1.0 (#7852)
Bumps [nyc](https://github.com/istanbuljs/nyc) from 15.1.0 to 17.1.0.
- [Release notes](https://github.com/istanbuljs/nyc/releases)
- [Changelog](https://github.com/istanbuljs/nyc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/istanbuljs/nyc/compare/v15.1.0...nyc-v17.1.0)

---
updated-dependencies:
- dependency-name: nyc
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-28 15:26:34 -07:00
dependabot[bot]
88e6557782 chore(deps-dev): bump babel-plugin-istanbul from 6.1.1 to 7.0.0 (#7804)
Bumps [babel-plugin-istanbul](https://github.com/istanbuljs/babel-plugin-istanbul) from 6.1.1 to 7.0.0.
- [Release notes](https://github.com/istanbuljs/babel-plugin-istanbul/releases)
- [Changelog](https://github.com/istanbuljs/babel-plugin-istanbul/blob/master/CHANGELOG.md)
- [Commits](https://github.com/istanbuljs/babel-plugin-istanbul/compare/v6.1.1...v7.0.0)

---
updated-dependencies:
- dependency-name: babel-plugin-istanbul
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-28 15:14:17 -07:00
dependabot[bot]
dbd4abebae chore(deps-dev): bump style-loader from 3.3.3 to 4.0.0 (#7802)
Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 3.3.3 to 4.0.0.
- [Release notes](https://github.com/webpack-contrib/style-loader/releases)
- [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/style-loader/compare/v3.3.3...v4.0.0)

---
updated-dependencies:
- dependency-name: style-loader
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-28 15:03:21 -07:00