* 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
* feat: add function to generate a seeded random value
* fix: produce the same compass orientation per timestamp
- helps for consistent visual tests
---------
Co-authored-by: John Hill <john.c.hill@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>
* docs: fix type imports in openmct.js
* docs: fix type imports
* docs: fix types for eventHelpers
* docs: types for TypeRegistry
* docs: types for StatusAPI
* docs: fix ObjectAPI types and docs
* docs: more types
* docs: improved types for main entry
* docs: improved types
* fix: unbreak the linting
* chore: remove EventEmitter webpack alias as it hide types
* fix: return type
* fix: parameter type
* fix: types for composables
* chore: add webpack consts to eslintrc
* fix: remove usage of deprecated timeAPI methods and add a ton of docs and types
* docs: update README.md
* lint: clean up API.md
* chore: upgrade eventemitter to v5.0.2
* refactor: update imports for EventEmitter to remove alias
* format: lint
* docs: update types for Views and ViewProviders
* docs: expose common types at the base import level
* docs(types): remove unnecessary tsconfig options
* docs: ActionAPI
* docs: AnnotationAPI
* docs: import common types from the same origin
* docs: FormsAPI & TelemetryAPI types
* docs: FormController, IndicatorAPI
* docs: MenuAPI, ActionsAPI
* docs: `@memberof` is not supported by `tsc` and JSDoc generation so remove it
* docs: RootRegistry and RootObjectProvider
* docs: Transaction + Overlay
* lint: words for the word god
* fix: review comments
* clear any staleness subscriptions before viewing a new object
* add checkbox to options for createDomainObjectWithDefaults, update swg staleness provider to use new time api, add test
* revert
* modified for simplification and to remove the need to update helper methods
* consistent naming convention
* Update e2e/tests/functional/staleness.e2e.spec.js
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* adding back vars that were removed
---------
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* refactor: url tools use named exports
* fix: refactor method and remove customUrlParams
* test(e2e): verify bounds are preserved in data pivoting
* test: remove test as feature is no longer needed
- dataVisualization logic has moved from MMGIS plugin to the open source. As such, we can just use the time conductor bounds
* refactor: autoformat keeps changing this so i'mma just commit it
* refactor: remove unnecessary code
* refactor: simplify, add docs
* Revert "refactor: remove unnecessary code"
This reverts commit 87aef35c510230835fb682b80e89a6006ef2d923.
* a11y: improve aria labels for ITC
* fix: simplify url method
* fix: update ITC app actions
* test: add test to generate test data for display layout w/ overlay plot + ITC enabled
* test(e2e): add suite + test for open in new tab from subobject
- needs cleanup
* a11y: various a11y improvement drivebys
* a11y: clock indicator needs to be quiet
* a11y: add `aria-live` to SuperMenu details
* a11y: greatly improve a11y of Menus and SuperMenus
* test(e2e): clean up test
* fix: improve a11y for context menus, fix test
* chore: remove nop-longer-recommended extension
* feat: provide one more bound option for example data viz
* fix: no need for `mount`, use dynamic rendering instead
* Revert "fix: simplify url method"
This reverts commit b24c7dabc783a9a1c3f2460eada99f452259f566.
* fix: correct time conductor bounds when opening in a new tab from a plot in the inspector
* test: fix e2e tests
* Revert "test: remove test as feature is no longer needed"
This reverts commit 759ebd4667bffb1979d5f62af6b47f349dcd9f77.
* test: move 2p annotation to test
* test: fix e2e
* fix: no words for the word god today
* test: fix e2e
* fix: e2e test
* test: fix test
* driveby: fix perf test
* fix: revert required prop change
---------
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* refactor: merge FaultManagementListView into FaultManagementView
* refactor: make `selectedFaults` a computed property
* refactor: use named exports
* fix: reset fault map AFTER selectedFaults have been acknowledged
* a11y: add aria labels for fault management toolbar buttons
* refactor: use named import/exports
* a11y: add label
* a11y: add aria label for checkboxes
* fix: acknowledging or shelving single fault from context menu should only apply to selected fault
* refactor: use change event instead of input event for checkbox
* test: fix e2e tests, remove expect.softs
* test: stabilize fault management e2e tests
* feat: enable mission status in example user
* test: add initial missionStatus suite
* test(WIP): mission status e2e suite
* test(e2e): add e2e and visual tests for mission status + a11y
* test(a11y): scan for a11y violations
* a11y: remove labels for non-interactive elements
* refactor: `UserIndicator` use vue component directly
* style(WIP): filler styles for user-indicator
* feat(WIP): working on mission status indicators
* feat: support mission statuses
* feat(WIP): can display mission statuses now
* feat(WIP): add composables and dynamically calculate popup position
* feat(WIP): dismissible popup, use moar compositionAPI
* Closes#7420
- Styling and markup for mission status control panel.
- Tweaks and additions to some common style elements.
* feat: set/unset mission status for role
* refactor: rename some functions
* feat: more renaming, get mission role statuses working
* refactor: more method renaming
* fix: remove dupe method
* feat: hook up event listeners
* refactor: convert to CompositionAPI and listen to events
* fix: add that back in, woops
* test: fix some existing tests
* lint: words for the word god
* refactor: rename
* fix: setting mission statuses
* style: fix go styling
* style: add mission status button
* refactor: rename `MissionRole` -> `MissionAction`
* test: fix most existing tests
* test: remove integration tests already covered by e2e
- These tests are going to be wonky since they depend on the View. Any unit tests depending on Vue / the View will become increasingly volatile over time as we migrate more of the app into the main Vue app. Since these LOC are already covered by e2e, I'm going to remove them. We will need to move towards a more component / Vue-friendly testing framework to stabilize all of this.
* docs: add documentation
* refactor: rename
* fix: a comma
* refactor: a word
* fix: emit parameter format
* fix: correct emit for `missionStatusActionChange`
---------
Co-authored-by: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* dereactifying the row before passing it to the commponent
* debouncin
* i mean... throttle
* initial
* UI functionality, switching between modes, prevention of export in performance mode, respect size option in swgs
* added limit maintenance in table row collectins, autoscroll respecting sort order
* updating the logic to work correctly :)
* added handling for overflow rows, this way if an object is removed, we can go back to the most recent rows for all remaining items and repopulate the table if necessary
* removing debug row numbers
* Closes#7268
- Layout and style sanding and polishing.
- Added title to button.
- More direct button labeling.
* Closes#7268
Partially closes#7147
- Removed footer hover behavior: table footer now always visible.
- Tweaks to style, margin etc. to make footer more compact.
* moved row limiting out of table row collections and into telemetry collections, table row collections will only limit what they return in getRows, handling sorting when in different modes
* have swgs return enough data to fill the requested bounds
* support minmax in swgs
* using undefined for more clarity
* clearing up boolean typo
* Address lint fixes
* removing autoscroll for descending, it is not necessary
* update snapshots
* lint
---------
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* 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
* inspector view needs renderWhenVisible function
* add a default visualization source
* add plugin to exercise data pivotting
* use correct key string
* test skeleton
* add e2e test
---------
Co-authored-by: David Tsay <david.e.tsay@nasa.gov>
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
* WIP
* guaranteeing float32breaking values for swgs when option is set
* cleaning up and clarity
* more clarity
* removing randomization of float breaking number, as it is not necessary
* logging the values that could not be plotted for awareness
* remving auto-added imports
---------
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* refactor: use `getBounds()` instead of `bounds()`
* fix: use `loadDelay` in generator subscription
* refactor: fix up e2e test
* fix: remove `.only()`
* refactor: lint
* Start to fix up conditionSet test with comments
* test: edit conditionSet to add delay value
* test: tests the case where telemetry is available
* fix: remove `.only()`
* test: add comments, clarify assertion
* refactor: lint:fix
* test: fix conditionSet default condition name test
* test: add assertions to stabilize tags tests
---------
Co-authored-by: Scott Bell <scott@traclabs.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* 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>
* Add additional test roles to example user
* Add session storage and role to user indicator
* Update example user provider
* Added selection dialog to overlays and implemented for operator status
* Display role in user indicator
* Updates to broadcast channel lifecycle
* Update comment
* Comment width
* UserAPI role updates and UserIndicator improvement
* Moved prompt to UserIndicator
* Reconnect channel on error and UserIndicator updates
* Updates to status api canPRovideStatusForRole
* Cleanup
* Store status roles in an array instead of a singular value
* Added success notification and cleanup
* Lint
* Removed unused role param from status api call
* Remove default status role from example user plugin
* Removed status.getStatusRoleForCurrentUser
* Cleanup
* Cleanup
* Moved roleChannel to private field
* Separated input value from active role value
* More flight like status role names and parameter names
* Update statusRole parameter name
* Update default selection for roles if input is not chosen
* Update OperatorStatusIndicator install to hide if an observer
* console.log
* Return null instead of undefined
* Remove unneccesary filter on allRoles
* refactor: format with prettier
* Undid merge error
* Merge conflict extra line
* Copyright statement
* RoleChannelProvider to RoleChannel
* Throw error on no provider
* Change RoleChannel to ActiveRoleSynchronizer and update method calls to match
* iconClass to alert
* Add role selection step to beforeEach
* example-role to flight
* Dismiss overlay from exampleUser plugin which affected menu api positioning
---------
Co-authored-by: Scott Bell <scott@traclabs.com>
* won't mount if cameraAngleOfView undefined
* fix non-gimbling camera azimuth
correct pan to azimuth
* reorganize shared props passing
* enable hud for non-gimbling cameras
* fix unit tests
* rotate function needs to work with numbers
* avoid -0
* fix: don't delete imagery size, update related telemetry on focusedImage change
* refactor: remove unused prop
* fix: ensure thumbnail key is unique
* fix: watch `focusedImage`, not `focusedImageIndex`
- Corrects a false assumption that if the `focusedImageIndex` changes, the `focusedImage` has changed. This was causing us to mistakenly reset a lot of display props that control whether or not the Compass shows.
- For example, if an image falls out of bounds, the `focusedImageIndex` will change as the old image is removed from the array.
---------
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* add handling for composition items (ex overlay plot) in stacked plots, fix swg staleness provider isStale method response
* typo
* removing staleness listeners when ladtable is remove
* addressing pr comments for this component
* address changes requested for lad table sets
* had to update is-stale for the row since we used combined keys in lad table sets now
* fixing error from plots when removing swg and making methods and props private for swg staleness provider
* removing unsubscribes from destroy hooks if the item has been removed already and reverting an unneccesary change
* checking for undefined staleness response
* removed un-neccesary code
* initial telemetry api updates for staleness support
* modifying staleness to a subsription style
* fixing variable name
* debuggin
* put the subscribe in the wrong place
* stale class for object views
* temp cyan border for testing
* added staleness to swg, working on stacked plot staleness
* WIP: stacked plot staleness
* reverting, going a different route
* staleness on stacked plots
* plot legend staleness
* remove debug code
* staleness for alphanumerics
* lad table and table set staleness
* overlay plot staleness
* remove debug code
* hardened lad staleness functionality fixed plots without composition bug
* adding staleness to gauges
* renaming telemetry age check functionality so it does not conflict with new staleness functionality
* couple one-off fixes here and there, and WIP for condition sets, moving to telemetry tables to facilitate styling of completed components
* small fix on lad tables, added staleness functionality to tables
* finishing up condition sets
* some cleaning up
* adding border to condition sets when an item is stale
* fixing dub sub
* addressing PR comment, moving repeated code to a function
* robustified the SWG stalenes provider, little fixes here and there as far as cleaning up listeners and... whatnot
* removing debug code
* typo fixes
* cleanin up debug code
* created a simple stalenes mixin for more basic usage in components
* more robustification, if a new staleness subscription happens, will now send the current staleness value if we have it, beefed up example stalenes swg provider
* beefed up staleness mixin a bit to give it more use
* copyright
* cleanin up ladtable code
* cleanin up ladtable code
* cleaning up lad table sets
* some minor updates
* Closes#6109
- New staleness glyph and font CSS added.
* Closes#6109
- Normalized staleness colors as theme constants.
- New mixins for staleness application to view elements.
- Applied staleness styling to all relevant view elements.
- TODO: smoke-test in Show theme.
* adding staleness utils helper, mixin and isStale functionalirty for telemtry api
* Closes#6109
- Refined style for Snow theme.
* need to have one domainObject per stalenes utility
* making sure we handle domains correctly while dealing with staleness
* couple fixes
* moving abort controller logic to a spot where it makes more sense
* added some more info for the StalenesProvider interface docs
* returning undefinded for ifStale requests with no provider
* debuggin
* debuggin
* missed "isStale" call in condtioncollections
* removing debug code and using mixin unsubscribe in gauge
* fixing tests
* more targeted tree item click
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Scott Bell <scott@traclabs.com>
* fix: get image thumbnail formatter
* refactor: ImageryView cleanup
* docs: add comment
* feat: Support thumbnails in ImageryView
- Prefer an image's thumbnail URL if its available
* feat: Support thumbnails in ImageryTimeView
* refactor: rename variable
* test(WIP): add thumbnail unit test, not working yet
* test: temp disable test
* feat: imagery thumbnail urls for example imagery
* test: add unit test for imagery thumbnails
* test(e2e): check for thumbnail urls
- Update imagery view tests to check for use of thumbnail urls
* Fixes 6139
- Markup changes and improvements in CompassRose.vue.
- Improved sun and edge gradients.
- Related CSS styles updated.
- Changed compass key color from cyan to white to avoid conflict with staleness color.
* change var def to avoid collision
* compass rose should size itself based on image
* allow heading or camera pan for fixed cameras
* suppress HUD if no camera pan
* allow image to display compass rose for other cams
* update example imagery to accept transformations
* remove comments
Co-authored-by: David Tsay <david.e.tsay@nasa.gov>
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
* Added clear poll button to clear all statuses
* Clear current poll question
* Added table for operator status
Co-authored-by: Michael Rogers <contact@mhrogers.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Change approach to filter positive and negative infinity values when updating stats
* Change filter when there are no plot stats and a positive/negative infinity value occurs
* Add check for negative infinity
* Name the unplottable values array and move it to the constructor
* Add option to render infinity values
* Add e2e test to render plot with infinity values
* Add accessibility labels to help locate items in tests
Refactor tests
* refactor(e2e): stabilize plotRendering test
Co-authored-by: Shefali <simplyrender@gmail.com>
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
* Closes#5640
- Layout frame edit handle visually tweaked, no longer resizes frame contents on hover when editing.
- Gauge now centers in its container instead of left flush.
- Added large bg-icon for aggregate telemetry.
- Removed 'no class' single wrapper div in mct-tree.vue.
- Refinements to appearance of locator in save/edit overlay dialog.
- Better styling for search in progress and 'no results' messaging.
- Revised art and glyph for `icon-tabular-scrolling`.
- Change TelemetryTableType to use icon-tabular-scrolling icon and bg-icon.
- Fix bad/erroneous descriptions for Telemetry Table, LAD Table and LAD Table Set.
- Fix descriptions for multiple view types.
- Removed unused .bg-icon class.
- Fixed bad value check that was causing panes not to collapse when dragged
(by design) to a very narrow width.
- Visual style for grippy adjusted for better clarity on some monitors.
- Normalize size of alphanumeric's labels and values in Display Layouts.
- Fix margin strategy for object label in main view.
- Fixed Locator to dynamically size itself to use available vertical space.
- Added new `l-overlay-dialog` size parameter.
- Better approach to overlay sizing to make Properties dialogs larger vertically
and fullscreen overlays more apparent to the user.
- Normalized approach to numeric inputs to fix cross-browser
inconsistency with input spinners.
- Fixed layout problem in `Datetime.vue` component due to
numeric input spinners changes.
- Added object types for Display Layout drawing objects.
- Code modded in `ObjectName.vue` to grab layout object cssClass from
layoutItem.type.
- Big thanks to @jvigliotta for the assist with this!
- update snapshots
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
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 7cf11e177c.
* [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
* 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>
* [Condition Set] Add check for empty string being passed to the makeKeyString util by TelemetryCriterion (#5636) (#5663)
* Check telemetry is defined before using makeKeyString util
* Add optional chaining in the check
* Add e2e test
* Add check for undefined
Co-authored-by: Khalid Adil <khalidadil29@gmail.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)
* 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)
* Handle couch db not found errors so that interceptors are still invoked. (#5654)
* Fix tests for interceptors
* [e2e] Add test for 'mine' folder initialization
* [e2e] don't fail on expected console errors
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Scott Bell <scott@traclabs.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
* [Docs] Update CouchDB local install documentation (#5692)
* Update local CouchDB install docs to include docker workflow
* reformat to source configuration scripts where possible
* correct couchdb case
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* [Time Conductor] History not working correctly (#5687)
* the check for fixed time vs realtime was not updating, have fixed this
* merging in related changes from master pr #4414
* lint fixes
* Update src/plugins/timeConductor/ConductorHistory.vue
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* setting time mode directly on load
* fixing issue where realtime history was being wiped on reloads while viewing fixed time
* formatting
* stubbed in some tests
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* Only index if provider does not support search - mct5690 (#5693)
* only index if provider does not support search
* add some tests
* fix tests
* [e2e] Add search couchdb test for duplicates
* [e2e] Modify existing search test instead
* lint
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
* Don't re-request historical data on ticks (#5701)
Don't rerequest telemetry on ticks.
* Fix duplicate declaration from merge
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>
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
* 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>
* Fixed bug which prevented historical images from loading.
imageLoadDelay variable would be initialized as a string when it's supposed to be initialized as an integer.
* Updated image load delay in E2E test.
* Implemented suggested tweak for parsing image delay.
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Spectral plots support
Co-authored-by: Nikhil <nikhil.k.mandlik@nasa.gov>
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Moved imagery controls to a separate component
* Zoom pan controls moved to component
* Implement adjustments to encapsulate state into ImageryControls
* Track modifier key pressed for layouts
* image control popup open/close fix
* Styling for imagery local controls
Co-authored-by: Michael Rogers <contact@mhrogers.com>
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Scott Bell <scott@traclabs.com>
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
Co-authored-by: unlikelyzero <jchill2@gmail.com>
Co-authored-by: Jamie Vigliotta <jamie.j.vigliotta@nasa.gov>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* implement new search and tagging for notebooks
* add example tags, remove inspector reference
* include annotations in mct
* fix performance tests
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: unlikelyzero <jchill2@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Added click event to simple indicator
* Moved operator status plugin to Open
* Implementing user role status API
* Support adding indicators asynchronously
* Adding user status API
* Updated example user provider
* Update icon with status
* Adding admin indicator
* Apply config options
* Set status class on indicator. Clear all statuses
* Show poll question in op stat indicator
* Implementing status summary
* Get statuses from providers. Reset statuses when poll question set
* Styling for operator status
- New icon glyph - IMPORTANT: OVERRIDE ANY MERGE CONFLICTS USING THIS COMMIT!
- Fixed erroneous font glyph mapping;
- Added default color for indicator icon;
- Changed user indicator to display response when set to other than "NO_STATUS".
- Standardized icon display.
* Cherrypick symbols font updates from restricted-notebook branch. This is the most full and complete version of the symbols font - OVERRIDE ANY MERGE CONFLICTS WITH THIS COMMIT!
* Fix positioning of popups
* Also fix positioning of status indicator
* Get roles by status instead of users
* Refactor how status summary is determined to simplify API
* Re-fetch status summary on status change
* Implemented status reset
* Move status into separate API
* Refactor user status to its own sub-API
* Create RAF utility class
* Error handling
* Add copyright notices
* Fix test issues
* Added jsdocs
* Additional tests for raf utility function
* Move status style configuration into Open
* Move styling from the API into the view
* Added some docs
* Added some unit tests and fixed a bug found in the process. Tests work\!
Co-authored-by: Andrew Henry <akhenry@gmail.com>