* 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
* chore: upgrade eventemitter to v5.0.2
* fix: pass context to eventHelpers
* fix: no need to destroy router as it is destroyed during openmct teardown
* fix: register `CreateAction` and retrieve it from the registry
* test: fix tests
* refactor: import action key consts
* fix: update usage. don't use getters
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
---------
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
* initial theme plugin setup, changes to layout frames
* update visual tests
* Changes to gauge, layout borders, and background
* Make background image a DIY theme variable. Fixes made to gauges. Deleted custom font.
* More changes to overall background colors. Added glass layer effect to menus
* changes to menu
* Fix to make theme easy to run
* Fix tab colors and add glass background to menus
* make highlightd corners longer
* Initial changes to font styles
* Add temporary numeric font style. Test numeric font in gauges.
* Initial changes to alphanumerics in layouts
* Updated variables
* update plugin.js file
* Fix highlighted corners on frames such that it uses outermost frame
* renaming theme plugin and rename branch
* fix button colors to be more readable
* change background image
* Fix bad merges from other theme files. Fix gauge and alphanumerics such that they dont have darkmatter borders
* more fixes
* Fix where mixin is used such that when an object's frame is hidden, highlgihts disappear
* remove blur from meter gauges
* Add comment about this theme being in beta mode
* Delete draft .scss file that is no longer needed
* Fix major accessibility issues
* Fix PR review comments
* ✨ fix: Correct import file name for DarkMatter theme.
* Fix other theme code that was failing e2e tests
* Revert index.html
* Fix linting error
* Fix for failing percy test regarding padding
* Fix for failing percy test regarding padding part 2
* Fix for failing percy test regarding padding part 3
* Remove mixin that may be causing percy issue
* Another fix to resolve percy issue
* Add back some code that was deleted during debugging, and create new variables for the object padding
* Fix gradient clipping in inspector
* Restructure all constants-.scss files
* Change bg image to be square and NASA official picture
* Final fixes to darkmatter variable layouts
* Address PR comments
* Change darkmatter to darkmatterTheme
---------
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
* fix: remove mystery webpack code
* fix: remove type:module and specify exports
- we aren't a module... yet
* fix: rename webpack*.js to webpack*.mjs so we can use import/export. fix imports
* fix: exports format
* fix: woops, need to add `start` script back
* chore: split e2e into its own module
* fix: use normal Painterro import
* fix: update e2e pathing
* fix: copy over helper functions
* chore: specify `cwd` for playwright configs so that openmct npm commands work as intended in any environment
* chore: add pretest script to e2e package.json
* chore: don't package e2e
* refactor: tidy up webpack common config
* chore: compile types to a single file
* chore: fix visual test npm scripts
* chore: fix import pathing
* chore: define package exports, move test specific dependencies to the subpackage
* chore: export test framework from openmct-e2e
* chore: export baseFixtures also
* chore: let `openmct` and `openmct-e2e` share `node_modules/`
* chore: use `--workspace`, remove pretest script
* Revert "fix: remove mystery webpack code"
This reverts commit eb14d52569ffa27ab1a090b883694f4707b59cd0.
* chore: update package-lock
* chore: add `.npmignore`
* fix: *js -> mjs
* 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
* chore: use ESModule imports for d3 libraries
* chore: add d3 types
* chore: use minified plotly
* chore: use ESModule style imports for printj
* chore: use `terser-webpack-plugin` to minimize
* Revert "chore: use minified plotly"
This reverts commit 0ae9b39d41b6e38f0fe38cd89a2cd73869f31c36.
* Revert "Revert "chore: use minified plotly""
This reverts commit 08973a2d2e6675206907f678d447717ac6526613.
* fix: use default minification options
* test: stabilize notebook image drop e2e test
* test(fix): remove .only()
* refactor: convert TelemetryValueFormatter to es6 class
---------
Co-authored-by: Scott Bell <scott@traclabs.com>
* chore: remove custom `compatConfig` settings
* chore: remove `vue-compat` and adjust webpack config
* chore: explicitly define Vue feature flags
* fix: `_data` property moved to `_.data`
* fix(e2e): revert to original test procedures
* refactor: replace final instances of `$set`
* refactor: remove `Vue` imports from tests
* refactor: `Vue.ref()` -> `ref()`
* refactor: actually push the changes...
* test: replace unit test with e2e test
* test: remove test as it's already covered by e2e
* fix(test): use `$ref`s instead of `$children`
* test(fix): more `$refs`
* fix(test): more `$refs`
* fix(test): use `$refs` in InspectorStyles tests
* fix(SearchComponent): use `$attrs` correctly
---------
Co-authored-by: Scott Bell <scott@traclabs.com>
* 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>
* 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>
* 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)