* 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
* chore: remove all usage of deprecated Time API methods
* test: update unit test
* docs: Fix spacing and add clarity to TimeConductorBounds definition.
* test: add unit test coverage for new time api methods
* refactor: move package.json to type: module
this is where the fun begins
* chore: move webpack common and prod to esm
* chore: move webpack to esm, eslint to explicit cjs
* refactor: migrate all files to esm
* style: lint
* refactor: begin moving karma to cjs, use dynamic esm import
* refactor: move index-test to cjs
* refactor: begin moving e2e to ESM
this was manual. I'm committing this because I'm about to try the `cjstoesm` tool
* refactor: move all to esm
* fix: make all e2e tests use .js imports
* refactor: begin moving exports to esm
* refactor: use URL transforms instead of __dirname
* fix: use libraryExport: default to properly handle openmct
* fix: export all playwright configs as modules
* refactor: move all instances of __dirname to import.meta.url
* refactor: lint, drop unnecessary URL call
* fix: use correct URL path on helper/addNoneditableObject.js
* fix: more incorrect URL resolve issues
* fix: parse json after reading it
* fix opacity issue
* wip, though selection still weird
* remove debugging
* plots still have issue with last tag
* add some better tests
* Apply suggestions from code review
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
* remove hardlined classnames
* case sensitivity
* good job tests finding issue
---------
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* handle unknown files and deal with copy/paste
* add some nice errors if couch pukes
* added how to adjust couchdb limits
* throw error on anntotation change
* keep blockquotes
* add test for blockquotes
* allow multi-file drop of images too
* add test for big files
* spell check
* check for null
* need to ignore console errors
* reorder tests so we can ignore console errors
* when creating new entry, ready it for editing
* fix tests and empty embeds
* fix tests
* found similar issue from notebooks in plots
* migrating to new structure - wip
* notebooks work, now to plots and images
* resolve conflicts
* fix search
* add to readme
* spelling
* fix unit test
* add search by view for big search speedup
* spelling
* fix out of order search
* improve reliability of plot tagging tests
* Change the mount utility to use Vue's createApp and defineComponent methods
* Fix display layout memory leaks caused by `getSelectionContext`
* fix some display layout leaks due to use of slots
* Fix imagery memory leak (removed span tag). NOTE: CompassRose svg leaks memory - must test on firefox to see if this is a Chrome leak.
* Fix ActionsAPI action collection and applicable actions leak.
* Fix flexible layout memory leaks - remove listeners on unmount. NOTE: One type of overlay plot (Rover Yaw) is still leaking.
* pass in the el on mount
* e2e test config and spec changes
* Remove mounting of limit lines. Use components directly
* test: remove `.only()`
* Fix display layout memory leaks
* Enable passing tests
* e2e README and appActions should be what master has.
* lint: add word to cspell list
* lint: fixes
* lint:fix
* fix: revert `el` change
* fix: remove empty span
* fix: creating shapes in displayLayout
* fix: avoid `splice` as it loses reactivity
* test: reduce timeout time
* quick fixes
* add prod mode and convert the test config to select the correct mode
* Fix webpack prod config
* Add launch flag for exposing window.gc
* never worked
* explicit naming
* rename
* We don't need to destroy view providers
* test: increase timeout time
* test: unskip all mem tests
* fix(vue-loader): disable static hoisting
* chore: run `test:perf:memory`
* Don't destroy view providers
* Move context menu once listener to beforeUnmount instead.
* Disconnect all resize observers on unmount
* Delete Test vue component
* Use beforeUnmount and remove splice(0) in favor of [] for emptying arrays
* re-structure
* fix: unregister listener in pane.vue
* test: tweak timeouts
* chore: lint:fix
* test: unskip perf tests
* fix: unregister events properly
* fix: unregister listener
* fix: unregister listener
* fix: unregister listener
* fix: use `unmounted()`
* fix: unregister listeners
* fix: unregister listener properly
* chore: lint:fix
* test: fix imagery layer toggle test
* test: increase timeout
* Don't use anonymous functions for listeners
* Destroy objects and event listeners properly
* Delete config stores that are created by components
* Use the right unmount hook. Destroy mounted view on unmount.
* Use unmounted, not beforeUnmounted
* Lint fixes
* Fix time strip memory leak
* Undo unneeded change for memory leaks.
* chore: combine common webpack configs
---------
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* remove series object from highlights
* remove series models from legend reactive data
* drawing all annotations at once is way faster
* fix multi annotations
* lots of reactive things depending on config
* make annotation lookup faster
* lint
* readd perf test
* address PR comments
* fix highlight typo
---------
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
* fix annotations load to not happen on start
* remove range checking per annotated point
* back to local variable
* reduce tagging size to improve reliability of test
* remove .only
* remove .only
* reduce hz rate for functional test and keep high frequency test in performance
* remove console.debugs
* this test runs pretty fast now
* fix network request tests to match new behavior
* Replacing all instances of the new Vue() component creation pattern
* In Vue 3, components cannot be created on the fly and mounted off-DOM. The suggested fix from Vue is to use createApp, but in the context of Open MCT this means dozens of Vue apps being created and destroyed at any given moment. Instead, we have used a community hack for creating individual components.
* beforeDestroy() -> beforeUnmount()
* destroyed() -> unmounted()
* The addition of deep: true option on Array listeners is now required to detect Array changes
* Open MCT is now mounted on a child div instead of directly on document.body
---------
Co-authored-by: Scott Bell <scott@traclabs.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* Fixed#4975 - Compact Time Conductor styling
* Fixed#5773 - Ubiquitous global clock
* 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.
---------
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
Co-authored-by: Shefali <simplyrender@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: Scott Bell <scott@traclabs.com>
* New option to show/hide stacked plot aggregate legend - defaulted to not show.
Use the Plot component in the StackedPlotItem component for simplicity and show/hide sub-legends as needed.
* Fix position and expanded classes when children are showing their legends
* Fix broken tests and ensure gridlines and cursorguides work.
* Adds e2e test for new legend configuration for stacked plot
* Address review comments - Remove commented out code, optimize property lookup, fix bug with staleness
* Remove the isStale icon in the legend when a plot is inside a stacked plot.
---------
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
* feat: `getAnnotations` can take an `abortSignal`
* feat: add `MAP` annotationType
* fix: handle `MAP` annotations in search results
* fix: have `loadAnnotationForTargetObject` take an `abortSignal`
* fix(#5646): abort pending annotations requests on nav away from notebooks or plots
* fix: handle AbortErrors gracefully
* fix: remove redundant `MAP` annotation type
* docs: add comment
* fix: navigate before selection for geospatial results
* feat: comparators for annotation target equality
- Adds `addTargetComparator()` to the Annotation API, allowing plugins to define additional comparators for certain annotation types.
- Update usage of `_.isEqual()` for targets to use the `areAnnotationTargetsEqual()` method, which uses any additional comparators before falling back to a deep equality check.
- Handle aborted `getAnnotations()` calls gracefully in the AnnotationInspectorView
* test: add unit tests for target comparators
---------
Co-authored-by: Scott Bell <scott@traclabs.com>
* free plot on search selection and remove rectangles when resuming
* add test
* remove rectanges
* update test
* more reliable way to load annotations
* use event to wait for axes and update tests
* restore test
* cancel selection in plots if clicking outside plot
* Revert "cancel selection in plots if clicking outside plot"
This reverts commit 82ea50152b7087679c689e2c2ee6a3368e0b3e76.
* Listen to the navigation triggered selection of the target object before selecting the annotations for the object
* remove commented out code
* check if we've already navigated to the object
---------
Co-authored-by: Khalid Adil <khalidadil29@gmail.com>
Co-authored-by: Shefali <simplyrender@gmail.com>
* freeze if annotation is selected
* add test
* add stacked plot test
* actually test ticket issue
* wait for canvas to stabalize
* wait for canvas to stabalize
* address PR comments
* Fix typo when saving the user specified range
* Ensure range is specified when autoscale is turned off
* Don't redraw unless absolutely necessary
* Add 'stats' to the handled attributes for redrawing plots
* Handle x axis displayRange, marker shape and size to redraw
* If there are is no closest data point for a plot, skip annotation gathering
* Ensure that min and max user defined ranges are valid when autoscale is disabled. Otherwise, enable autoscale to true.
* Fix autoscale e2e test
* updated snapshot
* Update e2e/README.md
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* Fix selections for different scenarios
* Ensure plot selection in stacked plots works when there are no selected or found annotations
* Adds e2e test for stacked plot selection and fixes the old e2e test which was testing overlay plots instead.
* Fix selection of plots while in Edit mode
* Improve tests for stacked plots
* refactor: remove unnecessary `await`s
* a11y: move aria-label to StackedPlotItem
* refactor(e2e): combine like tests, unique object names
- Use unique object names in `text=` selectors
- Combine like tests to reduce execution time
- Use `getByRole` selectors where able
* docs(e2e): add comments to test
* fix: add class back for unit test selector
---------
Co-authored-by: Scott Bell <scott@traclabs.com>
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
* Ensure enabling log mode does not reset series that don't belong to that yaxis.
propagate both left and right y axes widths so that plots can adjust accordingly
* Revert code
Handle second axis resizing
* Fixes issue where logMode was getting initialized incorrectly for multiple y axes
* Get the yAxisId of the series from the model.
* Address review comments - rename params for readability
* Fix number of log ticks expected and the tick values since we reduced the number of secondary ticks
* Fix log plot test
* Add guard code during destroy
* Add missing remove callback
* Add listeners to remove stacked plot series and make keys unique
* don't add overlay plots to stacked plot legends
* Ensure series colors are drawn correctly in the plot legend
* Remove legend from mct plot. Remove series reactivity from stackd plot and add them to the legend instead.
* Clean up stacked plots so that the plot legend needs fewer props
Also make sure that plot selection inside a stacked plot works - this had regressed due to plot annotations
* Fix console error in plot elements pool and plot legend - reset arrays to empty
* Ensure color in the y axis swatch updates correctly
* Fix small issues with removing objects from STacked plots
* Fix selection for annotations and also select stacked plot child items
* fix notebook tagging
* remove unused annotation editor and change selection to single object
* remove reference to deleted css
* fix e2e tests
* Fix small typos into the selection context for Notebooks.
* Add a typ that identifies that an annotation selection is coming from a search result
---------
Co-authored-by: Scott Bell <scott@traclabs.com>
* First pass
* Get bounding box min and max values based on the y axis that a series belongs to.
Handle removal of telemetry from an overlay plot
Handle addition of telemetry after annotations have been saved to an overlay plot
* Fix showing the rectangle for a given target's bounding box.
* remove invalid comment
Co-authored-by: Scott Bell <scott@traclabs.com>
* Implement new search and tagging for notebooks
* Add inspector and plot annotations
* Clean up inspector for plots and other views
* Bump webpack defaults for windows
* Notebook annotations are shown in inspector now
* Only allow annotations if plot is paused or in fixed time. also do not mutate if immutable
* Key off local events instead of remote (for now)
* Expose overlay plot so that it can be imported by an external plugin
* If the current object has an independentContext, ignore any upstream independentContext
* Accept any custom url param in open in new tab action
* Update version
* Don't delete annotations if there aren't any (#5829)
* don't delete annotations if there aren't any
* add test and align playwright-test
* align core with test
* added annotation describing test
* Add `aria-label` for time conductor history button (#5830)
* [Overlay Plot] Inspector series and legend sync fix (#5835)
* fixed overlay plots to react to series removals correctly, added alias visual to elements pool aliased items
* Keep transaction open on failed editor save (#5840)
* do not end a transaction on a failed editor save
* add unit tests for successful editor save and unsuccessful editor save
* If no matching tags, do not attempt tag search (#5839)
* do not attempt search if no matching tags
* fix timing on test
* commit again in hopes that github will run checks
* add back null tag check
* add some better documentation to tests
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Update version for master
Co-authored-by: Scott Bell <scott@traclabs.com>
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Imagery thumbnail regression fixes - 5327 (#5591)
* Add an active class to thumbnail to indicate current focused image
* Differentiate bg color between real-time and fixed
* scrollIntoView inline: center
* Added watcher for bounds change to trigger thumbnail scroll
* Resolve merge conflict with requestHistory change to telemetry collection
* Split thumbnail into sub component
* Monitor isFixed value to unpause playback status
Co-authored-by: Khalid Adil <khalidadil29@gmail.com>
* [e2e] Improve appActions (#5592)
* update selectors to use aria labels
* Update appActions
- Create new function `getHashUrlToDomainObject` to get the browse url to a given object given its uuid
- Create new function `getFocusedObjectUuid`... self explanatory :)
- Update `createDomainObjectWIthDefaults` to make use of the new url generation
- Update `createDomainObject...`'s arguments to be more organized, and accept a parent object
- Update some docs, still need to clarify some
* Update appActions e2e tests
- Refactor for organization
- Test our new appActions in one go
* Update existing usages of `createDomainObject...` to match the new API
* fix accidental renamed export
* Fix jsdoc return types
* refactor telemetryTable test to use appActions
* Improve selectors
* Refactor test
* improve selector
* add clock mode appActions
* lint
* Fix jsdoc
* Code review comments
* mark failing visual tests as fixme temporarily
* Update package.json (#5601)
* Fix menu style in Snow theme (#5557)
* Include the plan source map when generating the time list/plan hybrid object (#5604)
* Search should indicate in progress and no results states, filter orphaned results (#5599)
* no matching result implemented
* now filtering annotations that are orphaned
* filter object results without valid paths
* add progress bar
* added e2e tests
* removed extraneous click
* fix typos
* fix unit tests
* lint
* address pr comments
* fix tests
* fix tests, centralize logic to object api, check for root instead
* remove debug statement
* lint
* fix documentation
* lint
* fix doc
* made some optimizations after talking with akhenry
* fix test
* update docs
* fix docs
* Have in-memory search indexer use composition API (#5578)
* need to remove tags and objects on composition removal
* had to separate out emits from load as it was causing memory indexer to loop upon itself
* Add parsing for areIdsEqual util to consistently remove folders (#5589)
* Add parsing util to identifier for ID comparison
* Moved firstIdentifier to top of function
* Lint fix
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Revert "Have in-memory search indexer use composition API (#5578)" (#5609)
This reverts commit 7cf11e177c6c48093a6b37902ba3dfb36414ff10.
* [e2e] Tests for Display Layout and LAD Tables and telemetry (#5607)
* Check for circular references in originalPath - 5615 (#5619)
* check for circular references
* add test
* fix test
* address PR comments by making comments better
* fix docs...again
* Don't request data if there is a mouse click with no action
Don't request data if width gets smaller or if the change is less than the threshold of 50.
* Update version number
* Prevent cyclic references in link & move actions (#5635)
* do not create circular refs
* add negative validation test
* move to plugin
* add link test too
* fix docs
* refactored per john request
* fix path
* use appAction lib
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* [Fault Management] New Example Provider, Unit and e2e tests (#5579)
* added unit tests for fault management plugin
* modified the example fault provider to work out of the box
* updating for new e2e folder structure
* part of the e2e tests
* WIP
* Imagery thumbnail regression fixes - 5327 (#5569)
* Add an active class to thumbnail to indicate current focused image
* Differentiate bg color between real-time and fixed
* scrollIntoView inline: center
* Added watcher for bounds change to trigger thumbnail scroll
* Resolve merge conflict with requestHistory change to telemetry collection
* Split thumbnail into sub component
* Monitor isFixed value to unpause playback status
* updated search to include name, namespace and description added some more e2e tests
* added rest of e2e tests
* fixed my init script, had to disable lint for no-force because it was not working without it, saw online this may be a pw bug
* fix: removing maelstrom theme from application (#5600)
* added some tests for no faults
* visual tests
* added visual tests for fault management
* created utils file for shared functionality between function and visual tests
* updating to 2.0.8
* tryin to remove imagery changes from master
* trying to trigger a refresh
* tryin to refresh
* updated search to include name, namespace and description added some more e2e tests
* added rest of e2e tests
* fix: removing maelstrom theme from application (#5600)
* fixed my init script, had to disable lint for no-force because it was not working without it, saw online this may be a pw bug
* added some tests for no faults
* visual tests
* added visual tests for fault management
* created utils file for shared functionality between function and visual tests
* updating to 2.0.8
* no clue
* still no clue
* removing imports and chaning to requires
* updating utils file to work with require
* fixing paths
* fixing a test I had messed up when adding static exmaple faults
* ONE LAST PATH FIX... hopefully
* typo in files fix
* fix folder typo
* thought I got this one, but apparently not, well I did now! who is laughing now!?
Co-authored-by: Michael Rogers <contact@mhrogers.com>
Co-authored-by: Vitor Henckel <vitor@henckel.com.br>
* Sort tree items locally on rename (#5643)
* fix typo
* Sort the tree items locally on object rename
* Use the navigationPath as a key
- This ensures that objects AND linked objects will be sorted
* add 'tree' and 'treeitem' roles to mct-tree
* WIP tree item reordering test
* Select the first object that matches
* Test that all object links are also reordered
* Get the final uuid before queryParams as notebook sections have uuids
* Make `openObjectTreeContextMenu` more deterministic and update usage
* Add `expandPathToTreeItem` and `expandTreeItemByName` appActions
* add `#tree-pane` id for the tree view
* Add tree visual component test suite and bump percy-cli
* Remove tree appActions
* Better variable name
Co-authored-by: Scott Bell <scott@traclabs.com>
* Mct5549 fix indexer composition error (#5610)
* [Display Layout] Composition and configuration sync (#5669)
LGTM
* [e2e] Stabilize notebook tag tests (#5681)
* Use more deterministic selector
* Hover first to "slow down" e2e actions while in headless mode
* Moves condition set fix into 2.0.8 (#5673)
* Remove flag that determines if data should be reloaded on interactions.
Separate logic to clear history and reload data.
* Rename method to clarify intention
* Set Focused Image index after a imagery is selected from a timestrip - 5632 (#5664)
* Set focused image when timestamp prop is passed in
* Unused var
* Create timestrip with imagery child
* Add equality check for hovered image and view large image url
* Cleanup
* Time List 5534 for release/2.0.8 (#5678)
* Changes to Time List view. Closes#5534.
- Compacted table row spacing.
- Set all timeframes to display by default when creating a new Time List.
- Removed 'Upload plan' file button from properties.
* Changes to Time List view. Closes#5534.
- Better hint text for editing Timeframe Inspector section.
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* [CI] Enable couchdb e2e testing in open source (#5655)
* Reduce threshold to 10px - Chrome resizes to about 7 pixes and Firefox to 0.
* boilerplate for coverage
* add stubs
* Update version
* Remove debugging code
* [Flexible Layout] Fix draggable status for layout items while in browse mode (#5750)
* Modify flexible layout pages to make them not draggable in browse mode and add e2e test
* Don't destroy mutable if the domain object is not ready yet (#5695)
* Check if the domain object is set (mounted is done) before trying to destroy the mutable
* Use optional chaining. Add mutable promise check to prevent memory leaks
* Don't request data if there is a mouse click with no action
Don't request data if width gets smaller or if the change is less than the threshold of 50.
* Remove flag that determines if data should be reloaded on interactions.
Separate logic to clear history and reload data.
* Rename method to clarify intention
* Reduce threshold to 10px - Chrome resizes to about 7 pixes and Firefox to 0.
* boilerplate for coverage
* add stubs
* Remove debugging code
* Remove unused import
* Request priority (#5737)
* Set priority of couch requests to high
* Set priority of image requests to low
* Add e2e test for low-priority images
* Add test for re-requests on clicking a plot
* Adding new tests for testing plot requests for historical data
* Clean up e2e test for plot requesting historical data
* Write tests to ensure resizing the plot makes requests for data appropriately
* Remove fdescribe
* Fix resizing plot tests
Co-authored-by: Michael Rogers <contact@mhrogers.com>
Co-authored-by: Khalid Adil <khalidadil29@gmail.com>
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Scott Bell <scott@traclabs.com>
Co-authored-by: Alize Nguyen <alizenguyen@gmail.com>
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: Vitor Henckel <vitor@henckel.com.br>
* Bump d3-selection from 1.3.2 to 3.0.0
Bumps [d3-selection](https://github.com/d3/d3-selection) from 1.3.2 to 3.0.0.
- [Release notes](https://github.com/d3/d3-selection/releases)
- [Commits](https://github.com/d3/d3-selection/compare/v1.3.2...v3.0.0)
---
updated-dependencies:
- dependency-name: d3-selection
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Remove snapshot
* Fix imagery filter slider drag in flexible layouts (#5326) (#5350)
* Dont' mutate a stacked plot unless its user initiated (#5357)
* Port grid icons and imagery test to release 2.0.5 from master (#5360)
* Port grid icons to release 2.0.5 from master
* Port imagery test to release/2.0.5
* Restrict timestrip composition to time based plots, plans and imagery (#5161)
* Restrict timestrip composition to time based plots, plans and imagery
* Adds unit tests for timeline composition policy
* Addresses review comments
Improves tests
* Reuse test objects
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
* Include objectStyles reference to conditionSetIdentifier in imports (#5354)
* Include objectStyles reference to conditionSetIdentifier in imports
* Add tests for export
* Refactored some code and removed console log
* Remove workarounds for chrome 'scrollTop' issue (#5375)
* Fix naming of method (#5368)
* Imagery View does not discard old images when they fall out of bounds (#5351)
* change to using telemetry collection
* fix tests
* added more unit tests
* Cherrypicked commits (#5390)
Co-authored-by: unlikelyzero <jchill2@gmail.com>
* [Timer] Update 3dot menu actions appropriately (#5387)
* Call `removeAllListeners()` after emit
* Manually show/hide actions if within a view
* remove sneaky `console.log()`
* Add Timer e2e test
* Add to comments
* Avoid hard waits in Timer e2e test
- Assert against timer view state instead of menu options
* Let's also test actions from the Timer view
* 5391 Add preview and drag support to Grand Search (#5394)
* add preview and drag actions
* added unit test, simplified remove action
* do not hide search results in preview mode when clicking outside search results
* add semantic aria labels to enable e2e tests
* readd preview
* add e2e test
* remove commented out url
* add percy snapshot and add search to ci
* make percy stuff work
* linting
* fix percy again
* move percy snapshots to a visual test
* added separate visual test and changed test to fixtures
* fix fixtures path
* addressing review comments
* 5361 tags not persisting locally (#5408)
* fixed typo
* remove unneeded lookup
* fix tags adding and deleting
* more reliable way to remove tags
* break tests up for parallel execution
* fixed notebook tagging test
* enable e2e tests
* made schedule index comment more clear and fix uppercase/lowercase issue
* address e2e changes
* add unit test to bump coverage
* fix typo
* need to check on annotation creation if provider exists or not
* added fixtures
* undo silly couchdb commit
* Plot progress bar fix for 2.0.5 (#5386)
* Add .bind(this) to stopLoading() in loadMoreData()
* Replace load spinner with progress bar for plots
* Add loading delay prop to swg
* fix linting errors
* match load order
* Update accessibility
* Add Math.max to timeout to handle negative inputs
* Moved math.max to load delay variable
* Add loading fix for stacked plots
* Move loadingUpdate func into plot item for update
* Merge conflict resolve
* Check if delay is 0 and send, put post in a func
* Put obj directly to model, removed computed prop
* Lint fix
* Fix template where legend was not displayed
* Remove commented out template
* Fixed failing test
Co-authored-by: unlikelyzero <jchill2@gmail.com>
* Make plans non editable. (#5377)
* Make plans non editable.
* Add unit test for fix
* [CouchDB] Better determination of indicator status (#5415)
* Add unknown state, remove maintenance state
* Handle all CouchDB status codes
- Set unknown status if we receive an unhandled code
* Include status code in error messages
* SharedWorker can send unknown status
* Add test for unknown status
* Gauge fixes for Firefox and units display (#5369)
* Closes#5323, #5325. Parent branch is release/2.0.5.
- Significant work refactoring SVG markup and CSS for dial gauge;
- Fixed missing `v-if` to control display of units for #5325;
- Fixed bad `.length` test for limit properties;
* Closes#5323, #5325
- Add 'value out of range' indicator
* Closes#5323, #5325
- More accurate element naming;
- Fix cross-browser problems with current value display in dial gauge;
- Refinements to "out of range" indicator approach;
- Fixed size of "Amplitude" input in Sine Wave Generator;
* Closes#5323, #5325
- Styles and stubbed in code to support needle meter type;
* Closes#5323, #5325
- Stubbed in markup and CSS for needle-style meter;
* Closes#5323, #5325
- Fixed missing `js-*` classes that were failing npm run test;
* Closes#5323, #5325
- Fix to not display meter value bar unless a data value is expected;
* Addressing PR comments
- Renamed method for clarity;
- Added null value check in method `valueExpected`;
* [Static Root] Return leafValue if null/undefined/false (#5416)
* Return leafValue if null/undefined/false
* Added a null to the test json
* Show a better default poll question (#5425)
* 5361 Tags not persisting when several notebook entries are created at once (#5428)
* add end to end test to catch multiple entry errors
* click expansion triangle instead
* fix race condition between annotation creation and mutation
* make sure notebook tags run in e2e
* address PR comments
* Handle missing objects gracefully (#5399)
* Handle missing object errors for display layouts
* Handle missing object errors for Overlay Plots
* Add check for this.config
* Add try/catch statement & check if obj is missing
* Changed console.error to console.warn
* Lint fix
* Fix for this.metadata.value is undefined
* Add e2e test
* Update comment text
* Add reload check and @private, verify console.warn
* Redid assignment and metadata check
* Fix typo
* Changed assignment and metadata check
* Redid checks for isMissing(object)
* Lint fix
* Backmerge e2e code coverage changes and fixes into release/2.0.5 (#5431)
* [Telemetry Collections] Respect "Latest" Strategy Option (#5421)
* Respect latest strategy in Telemetry Collections to limit potential memory growth.
* fix sourcemaps (#5373)
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* Debounce status summary (#5448)
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* No gauge (#5451)
* Installed gauge plugin by default
* Make gauge part of standard install in e2e suite and add restrictednotebook
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* [CouchDB] Always subscribe to the CouchDB changes feed (#5434)
* Add unknown state, remove maintenance state
* Handle all CouchDB status codes
- Set unknown status if we receive an unhandled code
* Include status code in error messages
* SharedWorker can send unknown status
* Add test for unknown status
* Always subscribe to CouchDB changes feed
- Always subscribe to the CouchDB changes feed, even if there are no observable objects, since we are also checking the status of CouchDB via this feed.
* Update indicator status if not using SharedWorker
* Start listening to changes feed on first request
* fix test
* adjust test to hopefully avoid race condition
* lint
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Scott Bell <scott@traclabs.com>
* Fix for Fault Management Visual Bugs (#5376)
* Closes#5365
* General visual improvements
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* fix pathing (#5452)
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* [Static Root] Static Root Plugin not loading (#5455)
* Log if hitting falsy leafValue
* Add some logging
* Remove logs and specify null/undefined
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* Allow endpoints with a single enum metadata value in Bar/Line graphs (#5443)
* If there is only 1 metadata value, set yKey to none. Also, fix bug for determining the name of a metadata value
* Update tests for enum metadata values
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* [Remote Clock] Wait for first tick and recalculate historical request bounds (#5433)
* Updated to ES6 class
* added request intercept functionality to telemetry api, added a request interceptor for remote clock
* add remoteClock e2e test stub
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Fix for missing object for LADTableSet (#5458)
* Handle missing object errors for display layouts
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* removing the call for default import now that TelemetryAPI is an ES6 class (#5461)
* [Remote Clock] Fix requestInterceptor typo (#5462)
* Fix typo in telemetry request interceptor
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Lock model (#5457)
* Lock event Model to prevent reactification
* de-reactify all the things
* Make API properties writable to allow test mocks to override them
* Fix merge conflict
* Added plot interceptor for missing series config (#5422)
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
* Remove performance marks (#5465)
* Remove performance marks
* Retain performance mark in view large. It doesn't happen very often and it's needed for an automated performance test
* Use timeKey for time comparison (#5471)
* Fix couchdb no response (#5474)
* Update the creation date only when the document is created for the first time
* If there is no response from a bulk get, couch db has issues
* Check the response - if it's null, don't apply interceptors
* Fix shelved alarms (#5479)
* Fix the logic around shelved alarms
* Remove application router listener
* Release 2.0.5 UI and Gauge fixes (#5470)
* Various UI fixes
- Tweak to Gauge properties form for clarity and usability.
- Fix Gauge 'dial' type not obeying "Show units" property setting, closes#5325.
- Tweaks to Operator Status UI label and layout for clarity.
- Changed name and description of Graph object for clarity and consistency.
- Fixed CSS classing that was coloring Export menu items text incorrectly.
- Fixed icon-to-text vertical alignment in `.c-object-label`.
- Fix for broken layout in imagery local controls (brightness, layers, magnification).
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Stacked plot interceptor rename (#5468)
* Rename stacked plot interceptor and move to folder
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Clear data when time bounds are changed (#5482)
* Clear data when time bounds are changed
Also react to clear data action
Ensure that the yKey is set to 'none' if there is no range with array Values
* Refactor trace updates to a method
* get rid of root (#5483)
* Do not pass onPartialResponse option on to upstream telemetry (#5486)
* Fix all of the e2e tests (#5477)
* Fix timer test
* be explicit about the warnings text
* add full suite to CI to enable CircleCI Checks
* add back in devtool=false for CI env so firefox tests run
* add framework suite
* Don't install webpack HMR in CI
* Fix playwright version installs
* exclude HMR if running tests in any environment
- use NODE_ENV=TEST to exclude webpack HMR
- deparameterize some of the playwright configs
* use lower-case 'test'
* timer hover fix
* conditionally skip for firefox due to missing console events
* increase timeouts to give time for mutation
* no need to close save banner
* remove devtool setting
* revert
* update snapshots
* disable video to save some resources
* use one worker
* more timeouts :)
* Remove `browser.close()` and `page.close()` as it was breaking other tests
* Remove unnecessary awaits and fix func call syntax
* Fix image reset test
* fix restrictedNotebook tests
* revert playwright-ci.config settings
* increase timeout for polling imagery test
* remove unnecessary waits
* disable notebook lock test for chrome-beta as its unreliable
- remove some unnecessary 'wait for save banner' logic
- remove unused await
- mark imagery test as slow in chrome-beta
* LINT!! *shakes fist*
* don't run full e2e suite per commit
* disable video in all configs
* add flakey zoom comment
* exclude webpack HMR in non-development modes
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* lint fix
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joshi <simplyrender@gmail.com>
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Scott Bell <scott@traclabs.com>
Co-authored-by: unlikelyzero <jchill2@gmail.com>
Co-authored-by: Alize Nguyen <alizenguyen@gmail.com>
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
Co-authored-by: Khalid Adil <khalidadil29@gmail.com>
Co-authored-by: rukmini-bose <48999852+rukmini-bose@users.noreply.github.com>
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
* Adds stacked plot inspector view provider for non subObjects
* Initialize config for telemetry objects that cannot be persisted with the config in the stacked plot
Use events to save telemetry object config changes to the stacked plot
Remove changes that weren't relevant anymore
* Ensure the telemetry objects that cannot be persisted are initialized correctly
* Fixes for selection indication in Stacked Plots
- Better theme constant colors.
- Fixed broken selectors.
- Changes also improve selection editing UI for Display and Flex Layouts.
* Ensure unique colors for stacked plot if they are auto assigned
* Fix bug hiding legend when viewing plots nested within a stacked plot
* Move stacked plots tests to it's own pluginSpec to simplify tests
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Rukmini Bose <rukmini.bose15@gmail.com>
* Move image export actions to 3-dot menu
* Move cursor guide and toggle grid lines to local controls for plots (on hover)
* toggle cursor and gridlines affect all plots in a stacked plot
* Fix tests
* Better message when exporting plots, fixed typo
Co-authored-by: Joe Pea <trusktr@gmail.com>
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
* [5058] Change the unit if the yKey changes after initialization
* [5057] Show y axis label when more than one series is present with the same range value
* Fix typo for model length check
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
* add some types to XAxisModel
* some more type defs and small code tweaks while getting familiar with plots
* more type annotations and a few small tweaks
* more type annotations and small tweaks to make types show
* add mocha types
* Add karma and jasmine, too
* further simplify plot canvas creation
* further simplify plot canvas creation
* update types, avoid runtime behavior in type definition that breaks SeriesCollection
* undo the changes to MctChart, improve it later
* lint fix
Co-authored-by: unlikelyzero <jchill2@gmail.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
* touch every file on earth to update copyright
* update one more
* pick up 2017 2018 2019
* revert fuchs copyright
* revert other bundle copyrights
* somehow missed one
* Notebook conflict auto retry 1.7.7 (#4230)
* Use timeFormatter.parse to get the timestamp of imagery since the source could be something other than key (#4238)
* If there is a pending create request for an id, queue a duplicate request. (#4243)
* [Telemetry Tables] Handling Request Loading (#4245)
* Fix file selection on pressing enter key (#4246)
* starting loading as false, since that makes sense (#4247)
* Hide independent time conductor mode if only 1 mode option is available. (#4250)
* Fix bargraph color selection (#4253)
* snapshot clicked while in edit mode should open in preview mode #4115 (#4257)
* Fix missing object handling in several vues (#4259)
* Flexible Layouts display Condition Sets as their editing/browsing interface (#4179)
* Flexible Layouts display Condition Sets as their editing/browsing interface #4141
* [Telemetry Table] Progress bar tests (#4249)
* Remove alert styling and hide pause button if in Fixed Time mode. (#4263)
* [Table/Collection Fixes] Clearing correctly, no mutating options, no duplicate requests (#4261)
* Condition sets only persist if actively editing (#4262)
* Imagery views should follow time context (#4264)
* Equal stacked plot y widths for all it's sub-plots (#4267)
* Fix Bar Graph related CSS (#4270)
* Bar graph review comment fixes (#4232)
* Mct4196 - Fixes Conditional Styling not being applied when editing a Condition Widget (#4255)
* Fix plot zoom when child of time strip (#4272)
* Resume plot if no pan, zoom, or drag action is taken (#4138) (#4256)
* [Telemetry Collection] No duplicate requests on load (#4274)
* doing the easy thing first (#4278)
* Bargraph time metadata should consider 'source' (#4289)
* Show clicked image in large view (#4280)
* added icon for inspector (#4275)
* Bar graph style nullcheck (#4291)
* Stacked plots need to align the Y axis (#4286)
* Duplicate Request Fixes (#4295)
* Add braintree sanitize url lib and sanitize form urls (#4296)
* Mct4177 fix for telemetry endpoints with '.' in the key (#4308)
* Remove additional request to load plots when mounted. (#4314)
* Fix plots dup requests (#4324)
* Merging 1.7.8 into master.
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: Nikhil <nikhil.k.mandlik@nasa.gov>
Co-authored-by: Khalid Adil <khalidadil29@gmail.com>
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
Co-authored-by: Scott Bell <scott@traclabs.com>
Co-authored-by: Michael Rogers <michael@mhrogers.com>
* Adds new types for Bar Graphs (#4168)
* Adds new spectral test data
Co-authored-by: Scott Bell <scott@traclabs.com>
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Independent time API implementation
* Independent time conductor in plan view
Co-authored-by: charlesh88 <charles.f.hacskaylo@nasa.gov>
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>