* 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>
* 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
* Increase priority of operator status indicator
* Add additional assertion to ensure there are multiple indicators
* Added some assertions to tighten up the test
* 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
* 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
* 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>
* 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>
* 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>
* 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
* 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
* 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>
* 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>
* 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
* 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>
* 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>
* Ensure that the mode set when independent time conductor is enabled/disabled is propagated correctly.
Also ensure that global time conductor changes are not picked up by the independent time conductor when the user has enabled it at least once before
* Use structuredClone instead of deep copy
* Add e2e test
* Assert that you're in fixed mode after sync time conductor
* Comment explaining new time context test
* Change test to be a little less complicated
* Fix linting errors
* Allow highlights and locking highlight points for plots in compact mode, but still disallow pan and zoom.
* Remove unnecessary watch on cursor guides and grid lines
* Test for cursor guides in compact mode
* moving rename methods to appActions
* importing back into original test
* reverting
* add the ability to change the name in the browse bar
* add test to verify entries are not being lost
* addding aria labels for tests
* when an object is changed, store the whole new object, not just the name
* typo!
* initial implementation
* cleaning up a bit
* adding the hash method back as we dont want gigantic keys
* adding a line
* added filtering to state generator, updated filters readme to fix error, more robust hash function
* removing unnecessary changes in wrong file
* adding a test to confirm each endpoint has a separate subscription based of filtering
* lint
* adding back in hints, accidentally removed
* remove some redundant code and convert sanitization method into a replacer function for stringify
* tweaking serialize replacer to handle arrays correctly, adding more determinative row addition check to test
* more focused selector for the table
* simplified the serialization method even further and added some more docs
* checking if the metadata exists before acting on it
* added a test to catch missing object errors in gauges
* remove waitForTimeout and add in check for time conductor successful start offset update
* hardening the test by checking for the time before the time change
* add "pageerror" to cspell
* Use the disabled attribute on a valid tag - the button.
* Add e2e test to check for add criteria button being enabled
* Improve test
* Check for add criteria button to have attribute disabled
* Remove focused test
* Add new utility to encode urls.
Use the encode urls utility to encode all background images in css
* need a commit to pull exampleimagery from
* skip and fix on otherside
---------
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* adding telemetry collections to condition manager
* handling telemetry collection data not datum
* adding from maaster
* addressing PR comments
* update unit test to work with telemetry collections
* fixing tests
* removing unnecessary addition
* removing focused describe
* removing focused it
* fix weird test bleed
* adding test for conditional styling
* removing some auto fix es-lint
* got a bit overzealous
* clarification
* using raf utility which handles it correctly and moving visiblity handling into the raf for consistency and performance
* using raf correctly
* removing raf, was causing issues
* move the test and add some determinism
* oops only
* missed lint
* got it!
* fix comments
* test(condStyling): stabilize test
---------
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
* refactor: clean up FaultManagementView code
* feat: providers can now provide "Shelve Duration" options
* fix(exampleFaultSource): support `getShelveDurations`
* a11y: aria label for fault management list item
* a11y(FaultManagement): more labels
* refactor: eliminate some faultUtils and refactor locator() out of tests
* docs: add some more docs to fault management api
* refactor: make for loop more readable
* test: use static faults when testing
* fix: set a timestamp for static faults and subtract so we get faults in order
* refactor: autoformat
* chore: add missing copyright header
* fix: use as default parameter to get value as method is called
* refactor: make magic number a const
* fix(codecov): use codecov github action to upload
* fix: generate the report
* build: update circleci yml to use codecov orb
* build: remove codecov scripts and package
* build: don't use the orb because things can't be easy
- nasa org disallows "third party" orbs
* build: only use `sudo` if we ain't da root user
---------
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Simplifies the implementation of telemetry buffering in Open MCT.
* Switches from per-parameter buffering to a shared queue. Per-parameter buffering is too easily overwhelmed by bursts of telemetry from high-frequency parameters. A single shared buffer has more overhead to grow when a burst arrives without overflowing, because the buffer is shared across all parameters.
* Removes the need for plugins to pass serialized code to a worker.
* Switched to a "one-size-fits-all" batching strategy removing the need for plugins to define a batching strategy at all.
* Captures buffering statistics for display in the PerformanceIndicator.
* more readable
* unpause explicitly
* fix jsdoc
* e2e testing multiple image removal
* prettier
* fix to remove multiple images from history
* move tests that use playwright clock api into own file
* fix playwright clock tests
* add aria-label to element
* prevent straggler debounced function call on unmount
* clean up and fix tests
* update paths
* lint fix
* lint fix
---------
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* fix: apply `is-style-invisible` className to image and alphanumeric items
* test: generate storagestate file with basic condition set
* refactor: small a11y additions for Toolbars
* test: add suite for display layout conditional styling
* fix: make condition true half of the time
* fix: use a period of 5 so tests are more stable
* test: mark as slow
* test: use inline base64 image text instead of a url
* fix: use vue reactivity system to conditionally show these objects
* test: use tiny base64 image
* fix: condition for v-show
* fix: use both v-if and v-show to toggle visibility
* refactor: convert to ES6 class
* fix: remove focused test
* fix: switch back to a div due to visual artifacts. settle for an aria role instead
- IT'S CALLED COMPROMISE!
* test: fix broken locator in imagery perf test
* Prevent this from happening
* make rule explicit
* test: maintain `locator()` pattern for contract tests
* test(couchdb): try some new techniques to stabilize the test
* Revert "test(couchdb): try some new techniques to stabilize the test"
This reverts commit 9aa1ea95a1.
* chore: revert to `networkidle` and disable eslint rule
* test: add `@network` annotation for tests with real network requests
---------
Co-authored-by: Hill, John (ARC-TI)[KBR Wyle Services, LLC] <john.c.hill@nasa.gov>
* fix: update broken locator
* update eslint package
* first pass of lint fixes
* update package
* change ruleset
* update component tests to match linting rules
* driveby
* start to factor out bad locators
* update gauge component
* update notebook snapshot drop area
* Update plot aria
* add draggable true to tree items
* update package
* driveby to remove dead code
* unneeded
* unneeded
* tells a screenreader that this is a row and a cell
* adds an id for dragondrops
* this should be a button
* first pass at fixing tooltip selectors
* review comments
* Updating more tests
* update to remove expect expect given our use of check functions
* add expand component
* move role around
* update more locators
* force
* new local storage
* remove choochoo steps
* test: do `lint:fix` and also add back accidentally removed code
* test: add back more removed code
* test: remove `unstable` annotation from tests which are not unstable
* test: remove invalid test-- the "new" time conductor doesn't allow for millisecond changes in fixed time
* test: fix unstable gauge test
* test: remove useless asserts-- this was secretly non-functional. now that we've fixed it, it makes no sense and just fails
* test: add back accidentally removed changes
* test: revert changes that break test
* test: more fixes
* Remove all notion of the unstable/stable e2e tests
* test: eviscerate the flake with FACTS and LOGIC
* test: fix anotha one
* lint fixes
* test: no need to wait for save dialog
* test: fix more tests
* lint: fix more warnings
* test: fix anotha one
* test: use `toHaveLength` instead of `.length).toBe()`
* test: stabilize tabs view example imagery test
* fix: more tests be fixed
* test: more `toHaveCount()`s please
* test: revert more accidentally removed fixes
* test: fix selector
* test: fix anotha one
* update lint rules to clean up bad locators in shared fixtures
* update and remove bad appActions
* test: fix some restricted notebook tests
* test: mass find/replace to enforce `toHaveCount()` instead of `.count()).toBe()`
* Remove some bad appActions and update text
* test: fix da tree tests
* test: await not await await
* test: fix upload plan appAction and add a11y
* Updating externalFixtures with best practice locators and add missing appAction framework tests
* test: fix test
* test: fix appAction test for plans
* test: yum yum fix'em up and get rid of some dragon drops
* fix: alas, a `.only()` got my hopes up that i was done fixing tests
* test: add `setTimeConductorMode` test "suite" which covers most TC related appActions
* test: fix arg
* test(couchdb): fix some network tests via expect polling
* Stabalize visual test
* getCanasPixels
* test: stabilize tooltip telemetry table test, better a11y for tooltips
* chore: update to use `docker compose` instead of `docker-compose`
* New rules, new tests, new me
* fix sort order
* test: add `waitForPlotsToRender` framework test, passthru timeout override
* test: remove `clockOptions` test as we have `page.clock` now
* test: refactor out `overrideClock`
* test: use `clock.install` instead
* test: use `clock.install` instead
* time clock fix
* test: fix timer tests
* remove ever reference to old base fixture
* test: stabilize restricted notebook test
* lint fixes
* test: use clock.install
* update timelist
* test: update visual tests to use `page.clock()`, update snapshots
* test: stabilize tree renaming/reordering test
* a11y: add aria-label and role=region to object view
* refactor: use `dragTo`
* refactor: use `dragTo`, other small fixes
* test: use `page.clock()` to stabilize tooltip telemetry table test
* test: use web-first assertion to stabilize staleness test
* test: knock out a few more `page.click`s
* test: destroy all `page.click()`s
* refactor: consistently use `'Ok'` instead of `'OK'` and `'Ok'` mixed
* test: remove gauge aria label
* test: more test fixes
* test: more fixes and refactors
* docs: add comment
* test: refactor all instances of `dragAndDrop`
* test: remove redundant test (covered in previous test steps)
* test: stabilize imagery operations tests for display layout
* chore: remove bad unicorn rule
* chore(lint): remove unused disable directives
---------
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
* fix(#7791): tc form shouldn't submit bounds changes on dismiss
* test(e2e): add tests for validating time conductor popup
- update appAction for setting time conductor in fixed mode
- add a11y to time conductor in fixed mode
- update tests using `setTimeConductorBounds`
* fix(#7791): actually fix the problem. Also, add a test.
* test: add annotation to regression test
* docs: comments
* test: fix the reset image button flake ONCE AND FOR ALL
- wait for the rightmost image thumbnail to be in the viewport :D
* test: add tests for `setTimeConductorMode` and `setTimeConductorBounds`
* For telemetry that cannot have it's own configuration, ensure that it is correct initialized by the parent.
* stacked plot test checks that config properties for immutable telemetry points are applied correctly
* add tab navigation to inspector tabs
* add accessibility metadata to this component
* Update title to be on the correct component. Add expand/collapse logic
* clean up test
* refactor: better a11y for plot forms, fix "expand by default" test, refactor out `plotActions.js`
* a11y: aria label for plotOptionsItem
* refactor(a11y): PlotOptionsBrowse structure to have better a11y
* fixed tests
* address comment
* reverted to match previous commit
---------
Co-authored-by: Hill, John (ARC-TI)[KBR Wyle Services, LLC] <john.c.hill@nasa.gov>
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* Use setMode API to set the time span as well as the bounds instead of the old bounds time API.
* Add test for synchronized time conductor via plots
* Fix linting issue
* If we're paused, don't purge data out of bounds
* Refactor auto scale utility functions for reuse
* Create new test spec for plot controls
* Move plot related actions into it's own file
* Fix typo for imports
* Remove named exposedFunction as it is causing errors when the method is used on the same page more than once.
* Fix spelling
* run scroll method to scroll to top after initial load of historical data
* clarifying comment
* added e2e test to make sure tables auto scroll on mount
* adding descriptive comments
* adding in ascending check as well
* added new appAction for navigating to/in realtime, using it in table scroll test
* lint
---------
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
* this is 2024. `*` observers no more.
* add edit and save domain object helper functions
* add aria-labels and fix e2e tests to use new labels
* generate and save in local storage a condition set with telemetry and condition
* rename const
* move creation code out of generateLocalStorage since it is immutable
* remove function abstractions
* remove @localStorage test label
* Update e2e/tests/functional/plugins/conditionSet/conditionSet.e2e.spec.js
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* Update e2e/tests/functional/plugins/conditionSet/conditionSet.e2e.spec.js
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* Update e2e/tests/functional/plugins/conditionSet/conditionSet.e2e.spec.js
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* Update e2e/tests/functional/plugins/conditionSet/conditionSet.e2e.spec.js
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* remove unneccesary aria text
* remove unneccessary aria text
* use recommended playwright locators
* lint fix
* remove unneccesary steps now that child created directly in parent
---------
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* Closes#7635
- More specific approach to CSS class application for column vs. row layouts.
- Added layout direction CSS classing to `c-fl-container__frames-holder`.
- Switched toolbar icon and titling for better parity with
'toggle' approach used elsewhere.
- Cleaned up duped property def in mixin.
* Addressing PR change requests
- Updated e2e test.
- New computed properties for layout direction.
- CSS code cleanup.
* fix selector in test
* fix more bad selectors
* fix changed title
---------
Co-authored-by: David Tsay <david.e.tsay@nasa.gov>
* enable eval source maps for debugging
* split image and text paste handling
better event handling
* change back source maps
* image takes precedence over text
* break up notebook entry functions for re-use
* create hotkeys utils
add clipboard functions
* add notebook paste test
* add test for pasting to selected but not editing entry
* link tests to issue
* jsdoc addition
* jsdocs
* no need to import then export
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* fix changed path
---------
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* fix: resize conductor properly
* refactor: more computed properties, unregister listener
* fix: beforeUnmounted hook
* test(visual): add time conductor visual test for fixed mode
* fix: initialize to `null`
* feat: extend the base `screenshot` function to mask elements which will always create variance in an Open MCT screenshot
* docs: add types for fixtures
* fix: remove unneeded await
* chore: add sinon timers types package back
* docs: remove unused docs
* doc: remove unused docs
* test: add visual realtime url, update imports
* feat: provide wrapped page.screenshot fixture that applies defaults
* test: add basic timeConductor snapshot tests
* chore: update eslint config
* lint: remove unused disable directives
* test: remove redundant navigation
* fix: remove listeners
* fix: maybe stabilize unit tests
* docs: remove
* fix: provide sourcemaps in unit tests
* test: add regression snapshot test for time conductor axis
* lint: remove unused imports
* feat(e2e): add fixture to manually tick the clock and use it
* test: reactivate test now that we don't use deploysentinel :(
* test: update snapshots
* test: add test for clockOptions and tick fixtures
* test: add afterEach stub and fixme
* test: try and stabilize fault management flake
* lint: defy the word gods
* chore: ignore `*-darwin.png` screenshots
* chore: remove darwin screenshot binaries
* docs: markdownlint
* docs: remove MacOS specific instructions from snapshot testing
* fix: remove a11y
* chore: update tsconfig to target modern ES
* docs: update UserProvider
* docs: update UserAPI, make openmct private
* docs: update StatusAPI
* refactor: convert ViewRegistry to ES6 class
* docs: finish type imports for openmct api
* docs: minor doc improvements
* docs: add UserIndicator readme
* docs: add User API section to API docs
* docs: document Mission Status
* docs(JSDoc): primitive types should be lowercase, otherwise TitleCase