* 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 d88855311289bcf9e0d94799cdeee25c8628f65d.
* 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>
* 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
* [Imagery] Click on image to get a large view #3582
* Created new viewLargeAction.
* Changes in view registry to add parent element property inside view object.
* Separate class for views and added missing changes for LadTableSet.
* Renamed callBack to onItemClicked.
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* [Menu API] All our drop down menu's now use the new menu api #3607
Co-authored-by: charlesh88 <charles.f.hacskaylo@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* no-implicit-coercion and no-unneeded-ternary
* End every line with a semicolon
* Spacing and formatting
* Enabled semi-spacing
* Applies npm run lint:fix to code after master merge
* Fix merge issues
* Switched operator-linebreak to 'before'
Co-authored-by: Joshi <simplyrender@gmail.com>
* basic brush prototype visible
* require alt pressed for grab handle. display only
* pan and zoom now co-exist
* revert selection to times
* make LocalTimeSystem UTCBased (Earth based)
* add LocalTimeSystem
* make isTimeFixed check reusable
* linting
* zoom axis sets start and end times
* pass isFixed as props so we can watch for change from parent
* disable cursor for local time and enable for fixed time
* linting
* resize brush on window resize
* just use d3-brush instead of entire d3 package
* WIP prototyping conductor history
* set global bounds before emitting change event
* WIP conductor history
* WIP save history to and pull history from local storage
* WIP persistence works
* reset axis height after prototyping
* conductor history functionality complete
* clean up refactoring
* add presets
code cleanup
* axis visual tuning
* remove unused function calls
* change tick to timespan to avoid confusion
* fix bounds to use for timespans on pan axis
* linting
* linting
* more linting
* linting
* change realtime end bound to 30 secondes
* add max duration validation
* Tweaks to Time Conductor History menu
- Enhanced styles for `.c-menu`;
- Added hint messaging and separator;
- Reversed displayed history array so that latest entry is always first;
* refactor to use browser mouse events instead of d3brush
* Styling Time Conductor axis area
- Styles for `is-zooming` state and brush;
- Styles for `is-alt-key-down` for panning;
- Styles for hover modified;
* resolve merge conflicts
* Styling Time Conductor axis and inputs
- Moved panning and zooming styles up into `conductor.scss`;
- Stubbed in :class names in Conductor.vue;
- New theme constants;
* fix merge conflict
* move zoom/pan styling up to conductor
* WIP almost there
* fix zoom
* move altPressed up to parent
* handle no drag on pan
* rename inMode vars for clarity
* Styling for Time Conductor zoom and pan
- Minor fix to hover cursor for alt-pressed panning;
* add configurable bounds limit to time conductor
* add presets and records
* fixes for history
* remove lodash
* add default configurables for examples
* do not install local time system
* cleanup
* fix indentation
remove logging
* remove comments
* section-hint without section-separator styling
* provide reasonable defaults for conductor configuration
* specify input to check validation on
* improve validation
* first check both inputs for valid formats
* clear each valid input on new entry
* tear down listeners
* add user instructions
* allow preset bounds to be declared as callback function
* set this.left on resize
code refactoring
Co-authored-by: charlesh88 <charlesh88@gmail.com>
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* Separate Vue component styles out from SFCs.
* Added 'MCT.prototype.getAssetPath' and using 'openmct.setAssetPath' to get relative path for assets.
* Re-implements `openmct.plugins.Snow()`, and `openmct.plugins.Espresso()` (as well as a new theme `openmct.plugins.Maelstron()`)
* Refactoring conductor to use Vue
* Conditionally render Time Conductor
* Created ConductorOptions SFC
* Copyright notice examples
* Added time system selector component
* Use capture for event bubbling with popups
* Added Conductor Axis. Simplified Axis formatting and removed scale formatting from formatters. Added date picker.
* Sync axis on zoom
* Fixed sync between conductor and axis
* Changed 'InspectorComponent' to 'ConductorComponent' in Layout. Fixed race condition with panning and RequestAnimationFrame
* Renamed properties in conductor to clarify their role. Fixed some bugs
* Removed old conductor
* Fix layout issue with legacy Conductor markup
* Added missing copyright notice