* feat: sort interceptors by priority
* fix(#5914): high priority for MyItemsInterceptor
* fix: create myItems if object is falsy
* test(e2e): update snapshots
Co-authored-by: Scott Bell <scott@traclabs.com>
* [e2e][couchdb] Add test for mct5616
- Add test to verify that modifying object properties generates a single persistence operation with CouchDB
* [e2e] Poll for 1 sec to allow time for request
* [e2e] ignore expected console error
* add comments
* add `aria-label`s to form select fields
* add `aria-label` for clock format select
* [e2e] Improve selector
* make property name less ambiguous
* refactor(e2e): use default object name
* feat(e2e): default unique names for new objects
* refactor(e2e): reference generated object names
- Fixes the tests that were locating "Unnamed <object_type>" to use the generated unique names
* feat(e2e): add testInfo into domainObject notes
- adds info about the currently running test and its project to notes
* fix(e2e): fix selector for notes section
* feat: ARIA: menu role for menus and SuperMenus
- Implements the [ARIA: menu role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/roles/menu_role) for Menus and SuperMenus,
* refactor(e2e): use role selectors for menu items
* refactor(e2e): better selectors for "OK" button
* refactor(e2e): better selectors for menu items
* refactor(e2e): improve selector
* refactor(e2e): update test to use appActions
* refactor(e2e): update test to use object name
* refactor(e2e): improve selectors for menu items
* test(e2e): fix search test
* refactor(e2e): update more plain 'text=' selectors
* fix: resolve codeQL error
- remove superfluous argument
* refactor(e2e): move testNotes to `pluginFixtures` and update imports
* refactor(e2e): remove unused fixture from test
* refactor: add dynamic id to form textareas
* refactor(e2e): improve notes textarea selector
* refactor(e2e): remove unused fixture
* Bump version to `2.1.2`
* Ensure properties stay in sync and are committed only once (#5717)
* Ensure form properties stay in sync
* Separate out overlay based forms and custom forms
* Use a transaction to save properties
* Fix GaugeController to not depend on event emitted from FormsAPI
* refactor showForms to call showCustomForm
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Fix persistence timestamp (#5916)
* Calculate persisted timestamp last
* Added regression tests
* Correct transaction handling code
* Code cleanup
* Fix typo for publish (#5936)
* Add e2e tests to npm package (#5930)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* add typescript
* update tsconfig
* convert to es6 class
* Convert more stuff to es6 class
* skip checking libs, test files
* more es6 classes!
* Fix some jsdocs
* Rename file
* Improve jsdoc types
* Rename references as well
* more types
* types for CompositionAPI
* Types for CompositionCollection
* Types for CompositionProvider
* type
* types for api
* nvm
* cleanup MCT
* Fix API type definition
* Generate types before publish
* fix openmct 👀
* rename PublicAPI -> OpenMCT and document methods
* try and fix visual test ?
* Make private methods private
* more private methods!!
* import all es6 api's so we get more types for free
* convert Selection to es6 class
* remove redundant docs
* fix Branding types
* fix openmct.start() types
* Remove useless `@memberof`
* Add parameter name
* [docs] Add a section on Types
* markdownlint
* word
* Add section on limitations / contibuting types
* Let these methods be private
* make private members private, fix a type
* fix another type
* Make method private
* Update docs for `skipMutate` and related methods
* Rename file and fix references
* `DefaultCompositionProvider` extends `CompositionProvider`
* Make private members private
* Type for `AbortSignal`
* `domainObject` must be accessible for perf tests
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* initial changes adding modified and created by fields to domain objects and updating properties inspector
* adding created date to object creation
* added a test for created timestamp
* updating remove action to hold the transaction and disregard edit state when handling transactions, also updated object api to return transaction when starting and ignore edit state when determining if transaction is active
* updating docs for object api "startTransaction"
* updating incorrect use of edit and transaction in our appActions for testing
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Shefali <simplyrender@gmail.com>
* [ConditionWidget] Center label text
Addresses #5799
* [ConditionWidget] Wrap label text
Addresses #5799
* [ConditionWidget] Add padding to label
Addresses #5799
* [ConditionWidget] Use interiorMargin value for padding
Addresses #5799
* add time context to telemetry requests
* change to empty array
* refactor telemetry api to use time context
* removed unused function
* add tests
* add test, rename function
* make function public
* 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>
* Add release to codeql and queries to match lgtm
* Add lgtm config file
* Custom codeQL config to ignore app.js
* Custom config for lgtm
* Remove query filter for lgtm
* Updated the security test docs
* Remove lgtm.yml and delete app.js references
* Update codeql-config.yml
Co-authored-by: Alize Nguyen <alizenguyen@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Implementation of user attribution of object changes
* Adds created date to object creation
* Updating remove action to wait for save before navigationg
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
* 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>
* trying this again
* wip
* wip
* wip
* one annotation per tag
* fixed too many events firing
* syncing works mostly
* syncing properly across existing annotations
* search with multiple tags
* resolve conflicts between different tag editors
* resolve conflicts
* fix annotation tests
* combine search results
* modify tests
* prevent infinite loop creating annotation
* add modified and deleted
* revert index checkin
* change to standard couch deleted flag
* revert throwing of error
* resolve conflict issues
* work in progress, but load annotations once from notebook
* works to add
* attempt 1
* wip
* last changes
* listening works, though still getting conflicts
* rename to annotationLastCreated
* use local mutable again
* works with new tags syncing
* listeners wont fire if modification is null
* clean up code
* fixed local search
* cleaned up log messages
* remove on more log
* add e2e test for network traffic
* lint
* change to use good old for each
* add some local variables for clarity
* Update src/api/objects/ObjectAPI.js
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* Update src/api/objects/ObjectAPI.js
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* Update src/plugins/notebook/components/Notebook.vue
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* press enter for last entry
* add test explanation of numbers
* fix spread typo
* add some nice jsdoc
* throw some errors
* use really small integer instead
* remove unneeded binding
* make method public and jsdoc it
* use mutables
* clean up tests
* clean up tests
* use aria labels for tests
* add some proper tsdoc to annotation api
* add undelete test
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* 4386 - In time conductor history, show them on hover if only milliseconds have changed
* [e2e] Add quick test
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
* Reviewer to smoke test PRs before merge
* Update PULL_REQUEST_TEMPLATE.md
* Update PULL_REQUEST_TEMPLATE.md
* Update PULL_REQUEST_TEMPLATE.md
Changes based on feedback
* Update PULL_REQUEST_TEMPLATE.md
Tweaking the language slightly for clarity.
* Update PULL_REQUEST_TEMPLATE.md
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>