* 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
* clock, timeConductor and appActions fixes
* Ensure realtime uses upstream context when available
Eliminate ambiguity when looking for time conductor locator
* Fix log plot e2e tests
* Fix displayLayout e2e tests
* Specify global time conductor to fix issues with duplicate selectors with independent time contexts
* a11y: ARIA for conductor and independent time conductor
* a11y: fix label collisions, specify 'Menu' in label
* Add watch mode
* fix(e2e): update appActions and tests to use a11y locators for ITC
* Don't remove the itc popup from the DOM. Just show/hide it once it's added the first time.
* test(e2e): disable one imagery test due to known bug
* Add fixme to tagging tests, issue described in 6822
* Fix locator for time conductor popups
* Improve how time bounds are set in independent time conductor.
Fix tests for flexible layout and timestrip
* Fix some tests for itc for display layouts
* Fix Inspector tabs remounting on change
* fix autoscale test and snapshot
* Fix telemetry table test
* Fix timestrip test
* e2e: move test info annotations to within test
* 6826: Fixes padStart error due to using it on a number rather than a string
* fix(e2e): update snapshots
* fix(e2e): fix restricted notebook locator
* fix(restrictedNotebook): fix issue causing sections not to update on lock
* fix(restrictedNotebook): fix issue causing snapshots to not be able to be deleted from a locked page
- Using `this.$delete(arr, index)` does not update the `length` property on the underlying target object, so it can lead to bizarre issues where your array is of length 4 but it has 3 objects in it.
* fix: replace all instances of `$delete` with `Array.splice()` or `delete`
* fix(e2e): fix grand search test
* fix(#3117): can remove item from displayLayout via tree context menu while viewing another item
* fix: remove typo
* Wait for background image to load
* fix(#6832): timelist events can tick down
* fix: ensure that menuitems have the raw objects so emits work
* fix: assign new arrays instead of editing state in-place
* refactor(timelist): use `getClock()` instead of `clock()`
* Revert "refactor(timelist): use `getClock()` instead of `clock()`"
This reverts commit d888553112.
* refactor(timelist): use new timeAPI
* Stop ticking when the independent time context is disabled (#6833)
* Turn off the clock ticket for independent time conductor when it is disabled
* Fix linting issues
---------
Co-authored-by: Khalid Adil <khalidadil29@gmail.com>
* test: update couchdb notebook test
* fix: codeQL warnings
* fix(tree-item): infinite spinner issue
- Using `indexOf()` with an object was failing due to some items in the tree being Proxy-wrapped and others not. So instead, use `findIndex()` with a predicate that compares the navigationPaths of both objects
* [Timer] Remove "refresh" call, it is not needed (#6841)
* removing an unneccessary refresh that waas causing many get requests
* lets just pretend this never happened
* fix(mct-tree): maintain reactivity of all tree items
* Hide change role button in the indicator in cases where there is only… (#6840)
Hide change role button in the indicator in cases where there is only a single role available for the current user
---------
Co-authored-by: Shefali <simplyrender@gmail.com>
Co-authored-by: Khalid Adil <khalidadil29@gmail.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: David Tsay <david.e.tsay@nasa.gov>
Co-authored-by: Jamie V <jamie.j.vigliotta@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>
* Update `IndependentTimeContext` only if its `objectPath` differs
* Ensure independent time conductor, fixed and realtime inputs have the right objectPath
* [e2e] Add Plan creation test
* [e2e] add Create TimeStrip test
* mark new faultManagement suite with @unstable
* Upgrade to @playwright/test v1.25.0
* Extract `createPlanFromJSON` to appActions
* [e2e] Add TimeStrip test for Plans, Independent Time Contexts
* [e2e] Move test annotation to the top
* [e2e] fix timestrip test
* Update docker image so the tests run
* update playwright on GHA as well
* [e2e] Fix menu test
* Error if no objectPath provided
Co-authored-by: Shefali <simplyrender@gmail.com>
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
* Correctly use creatable attribute and persistability when working with domainObjects (#4898) (#4936)
* making move action location check persistability
* adding persistence check instead of creatability for styles
* added check for link action to make sure parent is persistable
* debug
* adding parent to link action and move action form location controls so they can be used in the form
* adding parent persistability check for duplicate
* updating multilple actions appliesTo methods to check for persistability
* updated the tree to not require an initial selection if being used in a form
* remove noneditable folder plugin
* added persistence check for the parent, in the create wizard
* minor name change
* removing noneditabl folder from default plugins as well
* checking the correct parent for persistability in create wizard
* importing file-saver correctly
* updated tests for import as json
* changes addressing PR review: using consts, removing comments, removing unneccessary code
Co-authored-by: Scott Bell <scott@traclabs.com>
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: Scott Bell <scott@traclabs.com>
* Fix display layout items getting cut off on the bottom (like plots) (#4903)
* Fix display layout items getting cut off on the bottom (like plots)
Also fix Vue warnings
* Add partial e2e test for this bug fix. WIP.
* Address review comments
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* Link action fix (#4945)
* handling edge case for linking a root item
* added location to viper plans (couch search folder) set to ROOT, added a check to remove action for alias (so you can remove linked nonpersistable items)
* added check for no parent in remove action (which means it is a root item)
* updating test
* Update time conductor inputs realtime (#4877)
* Update time conductor inputs realtime
* Update moveObjects.e2e.spec.js
* Update importAsJson.e2e.spec.js
* Update default.spec.js
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: Scott Bell <scott@traclabs.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* Update version number (#4759)
* update copyright (#4775)
* Observe changes to sub-objects in flexible layouts. (#4780)
* Get child of flex layout as mutable if possible
* Fix bug when no default notebook defined
* Follow domain object changes for Independent time conductor (#4783)
* Track if domain object changes when independent time conductor is in use.
* fix typo when using fallback template (#4784)
Co-authored-by: Scott Bell <scott@traclabs.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* 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>