* Imagery view for time strip
Co-authored-by: charlesh88 <charles.f.hacskaylo@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
* Add linear progress bar to tables
- Stubbed in markup;
- Better CSS anim for clarity;
* Indeterminate progress bar for telemetry tables
- Significant refinements to use ProgressBar.vue component;
- Stubbed in temp computed property for `progressLoad`;
- Better animation approach for indeterminate progress;
- Refined markup and CSS for `c-progress-bar`;
* Indeterminate progress bar for telemetry tables
- Refinements for determinate progress as shown in notification banners;
- Refined look of progress bar for clarity;
- Vue component now uses progressPerc === undefined instead of 'unknown';
- Animation tweaked;
* Changed progress-bar v-if test
- Per PR change suggestion, replace `v-if=progressLoad.progressPerc !== 100`
to `v-if=loading`;
* Added NotebookMenuSwitcher in preview header
* Use preview component inside viewLargeAction
* Added autoHide flag to overlay API that allows developers to specify whether an overlay should remain visible if other overlays are subsequently triggered (eg. the snapshot overlay)
* When in edit mode, disable navigation link to notebook entry.
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Snapshot images should use the namespace of the notebook they are being saved to, or LocalStorage #4007
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
* if default section/page is missing then clear default notebook and hide option from dropdown.
* handle edge case when section is null/undefined.
* refactored notebook localstorage data + fixed some edge cases when default section/page gets deleted.
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
Adds telemetry collections to the telemetry API
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* remove can edit from hyperlink (#4076)
* Add check for stop observing before calling it (#4080)
* Set the yKey value on the series when it's changed (#4083)
* [Imagery] Click on image to get a large view #3582 (#4085)
fixed issue where large imagery view opens only once.
Co-authored-by: Henry Hsu <hhsu0219@gmail.com>
Co-authored-by: Nikhil <nikhil.k.mandlik@nasa.gov>
* added vue hyperlink plugin
* remove angular code. update target attribute
* Polishing on form styles
- Remove `display: flex` from `.l-shell__main-container` and
`.c-so-view__object-view` CSS - IMPORTANT: NEEDS REGRESSION TESTING!
- Improvements to `.c-hyperlink` CSS;
- Markup cleanups and simplification;
- Remove duped CSS in object-frame.scss, probably result of prior bad
past merge;
* Fixes for object-frame and preview.scss
* Refinement to make hyperlink button have same display behavior as
Condition Widget;
* refactor layout template. update tests
* remove legacy hyperlink
* Updating firefox launcher
Co-authored-by: Henry Hsu <henry.hsu@nasa.gov>
Co-authored-by: charlesh88 <charles.f.hacskaylo@nasa.gov>
Re-implements ImageExportService as ES6 class instead of Angular managed service.
Co-authored-by: John Hill <jchill2.spam@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* [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>
* Remote-clock plugin
* Added a default clock class that can be extended by other classes
* Updated local clock to use the parent default clock class
* added a period check to make sure its been a certain amount of time before emitting
Co-authored-by: John Hill <jchill2.spam@gmail.com>
* Add checks and hide panes accordingly, toggle hide params when toggling panes, add params on change event
* add tests
Co-authored-by: Henry Hsu <henry.hsu@nasa.gov>
Co-authored-by: John Hill <jchill2.spam@gmail.com>
catching any errors from a user canceling from dialog (#3968)
Fix navigation errors (#3970)
Only add listeners to observables on creation
Do not double destroy mutable objects
Disallow pause and play in time strip view for plots. (#3972)
Update version
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* add logs for testing
* check autoScroll value
* Add auto scroll button at thumbnails
* add auto scroll button functionality
* turn on auto scroll whenever scroll bar is not at the right end
* check if scroll right when the page load
* update scroll to right condition
* remove resetScroll method, refactor scrollToRight and some cleaning
* check initial status
* remove logs
* Styling for imagery thumbs 'autoscroll resume' button
- Refined look and feel of the approach;
- CSS classes now assigned at the wrapper level;
- Markup changed to allow wrapping of scroll area and button;
- TODO: prevent a drag resize of the main view area from forcing
autoscroll to pause;
* Add tests for auto scroll
* add resize observer for thumb wrapper
* reset scroll bar position when window is resized
* Revert "upgrade to webpack5 (#3871)" (#3907) (#3908)
This reverts commit e1e0eeac56.
Co-authored-by: Nikhil <nikhil.k.mandlik@nasa.gov>
* Check for getlimits api (#3910)
* add debounce and resizing observer to thumbwrapper
* handling resizing window and auto scroll
* 1.clean up comments and logs 2.make variable names more descriptive 3.add scroll to right for play button
* fix eslint formate issue
* update class name in test
* fix eslint format error
* remove a couple variables that were created but not used.
Co-authored-by: Henry Hsu <henry.hsu@nasa.gov>
Co-authored-by: Henry Hsu <hhsu0219@gmail.com>
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
Co-authored-by: Nikhil <nikhil.k.mandlik@nasa.gov>
Co-authored-by: Jamie Vigliotta <jamie.j.vigliotta@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Overlay-related fixes
- Prevent navigation when a folder's grid or list view is displayed in
an overlay;
* Overlay-related fixes
- Get rid of theme-based special overlay coloring that was making the
overlay hard to use;
- Add margin to `l-overlay-large` to make it clearer that user is in an
overlay when interacting with that view;
- Refinements to colors and layout in About screens;
* Stub in static HTML for Timestrip Activity Inspection
- Added static markup with placeholder values and display logic;
- Refined approach for Links;
* Refactor duration formatting
* Display activity name when it's available
* Don't use indices for keys
* Don't show properties with no labels
* unit tests for inspector styles feature
* add mock capability for local storage
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Styling for plot limits and colors
* Updates to limit provider and css
* Change limits related CSS "*--upper" and "*--lower" to "*--upr" and
"*--lwr" for better parity with legacy naming;
* Refactor limit class to util
* Use new classes for sine wave generator for red-low and yellow-high
* Added modifier classes for right and below-aligned labels;
* Prevent label overlap of limits as much as possible
* Add border colors to limit labels for better visual ties to their lines
* Add documentation for limit level specification API change
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* [Reimplement] create new action plugin for issue #3834
Co-authored-by mariuszr mariusz.rosinski@gmail.com
Co-authored-by: Henry Hsu <henryhsu@henrys-air.lan>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Create and store image data into new domain object of type 'notebookSnapshotImage'
* Reduced thumbnail size to 30px
* Image migration script for old notebooks.
* Saves thumbnail image on notebook instead of new object.
* Update notebook automatically when modified by another user
* Don't persist selected and default page and section IDs on notebook object
* Fixing object synchronization bugs
* Adding unit tests
* Synchronize notebooks AND plans
* Removed observeEnabled flag
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
* all promises in test specs should be returned
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Changed text of form labels;
* Corrected case of "Location" in Duplicate action;
* changed from objects.mutate to objects.save for duplicate action name change
* handling cancel of move
Co-authored-by: charlesh88 <charles.f.hacskaylo@nasa.gov>
* Revert "upgrade to webpack5 (#3871)" (#3907) (#3908)
* [Navigation Tree] Fix composition on closed folders and scrolling for items NOT in tree (#3920)
* Update package.json version and version documentation to include tags for npmjs
Co-authored-by: Nikhil <nikhil.k.mandlik@nasa.gov>
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
* When a mutation is requested, the LegacyObjectAPIInterceptor triggers a second mutatation request - ensure that the model for this 2nd request has some diff from the current model before saving the object.
Co-authored-by: Andrew Henry <akhenry@gmail.com>
- `pointer-events: none` added to `c-compass` wrapper (which was
blocking the image from catching mouse events), and
`pointer-events: all` added to `c-direction-rose` element;
- Unit tested locally in main view and both types of layouts;
- Fixed indention spacing in file;
* Adds play and pause functionality for plots (not for legacy plots)
* Add time conductor sync gesture to actions. Also fix status css.
Co-authored-by: charlesh88 <charles.f.hacskaylo@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Dynamic sizing for compass rose based on image size
- Compass rose now sizes and positions proportionally to the containing
image, with min and max sizes;
- Refactored computed `compassDimensionsStyle` as
`sizedImageDimensions` for reusability;
- Tweaked sizing of compass ordinals text and North arrow for better
legibility;
- Minor tweaks to element positioning and opacity for better legibility;
- TODO: add unit tests;
* Fix linting and code style
- Fixed lint errors;
- Better variable names;
* Address comments from PR #3826 review:
- Renamed `compassRoseSizing` to `compassRoseSizingClasses` and fixed
function logic;
- Fixed line breaks for code style;
* [NIRVSS] Encode imagery metadata into image file names
* added image name metadata to example.imagery plugin.
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* added durations to conductor history
* removing commented out moment import
* removing unneccary const
* little change
* reusing code
* addressing pr comments, change 24 hours to one day :) and some formatting issues
* better formatting and deduping
* name change
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
* Implemented search in couch provider
* Promises, not await
* Batch requests
* Only batch if > 1
* Remove legacy Couch adapter
* Cleaned up couch request batching code
* Added test cases
* Code cleanup
* Changes to new and legacy objects API to remove redundant persists due to mutation of modified and persisted timestamps
* Cleaned up couch unit tests
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
* [#3789] Don't observe objects if they are already mutable objects. Add some null checks.
* Don't destroy mutable in Selection.js if it wasn't created in that context.
* Remove * listeners and add null checks
* Don't delete _observers and _globalEventEmitters on $destroy. Pop all items off the _observers list for a mutable domain object.
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>
* "Import as JSON" dialog is not intuitive #3761
* Fixed styling in Angular form builder
- Fixed select file button;
- Fixed required asterisk color in hint text;
- Updated markup and refined CSS selector;
Co-authored-by: charlesh88 <charles.f.hacskaylo@nasa.gov>
* WIP: added color, was not sure correct sass variable, charles... take it from here!
* adding charles name to the comment for posterity
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* heading, sun heading, and camera pan are all absolute directions
* removing roll and pitch keys as they will not be necessary
* proofing against empty historical or realtime ids from config
* adding checks in imagerylayout for missing properties
Co-authored-by: Jamie Vigliotta <jamie.j.vigliotta@nasa.gov>
* added new spacecraftPosition keys and changed old spacecraft keys to spacecraftOriention keys, updated how freshness is determined
* due to tests, added some checks for missing related telemetry before acting on it
* lint fixes
* pr comments, change simple if to Boolean
* checking if search aborted before aggregating search results, which calls getOriginalPath, which calls more gets
* removing erroneous abort signal check
* fix flexible-layout bug
* abstract element item from elements pool
* improve dragging of elements pool
* better dragover handling in elements pool
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.com>
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
* added new spacecraftPosition keys and changed old spacecraft keys to spacecraftOriention keys, updated how freshness is determined
* due to tests, added some checks for missing related telemetry before acting on it
* lint fixes
* pr comments, change simple if to Boolean
* Plan view final sanding for Build 4
- Removed unused selector;
- Changed class pointer for "no-activites" labels, refined text;
* Plan view final sanding for Build 4
- Removed unused selector;
- Changed class pointer for "no-activites" labels, refined text;
* adding first triggers for aborting search
* adding abort capabilities to the path a search request takes through the code
* switching empty args from null to undefined
* adding abortSignal to couchdb provider request function
* minor syntax tweak
* fixing accidental change of code
* simplifying the assignment of fetch options
* add finally to search promises to delete abort controller just in case it is still there
* passing signal in to provider.get not getProvider
* moving the couchdb doc creation out of the argument for request
* removing console log for aborted search error
* lint fix
* adding interceptors to objects.search
* removing the options object and replacing with abort signal
* removing unused variable leftover
* had accidentally removed stringifying the body of the request if present... added back in
* created an applyGetInterceptors function for search and get to use
* created an applyGetInterceptors function for search and get to use
* fixed bug that our TESTS FOUND!!!!
* Time Strip styling WIP
- Plan activity rects now don't use corner radius if smaller than the
radius, and use a minimum width of 1;
- Visual refinements to time axis and swimlanes;
- Refactored CSS-related class names and file `swim-lane` to `swimlane`;
* Compute row span dynamically
* Remove activities only in the current plan when refreshing
* Time Strip styling WIP
- Refinement and consolidation of CSS between c-plan and c-timeline;
- CSS cleanups;
* Time Strip styling WIP
- Added calculated activity text coloring based on background fill
color;
* Fix timestrip time bounds syncing
* Unlisten for bounds
* Update name of css file
* Adds test for time system axis in timestrip
Co-authored-by: Joshi <simplyrender@gmail.com>
* Use mutable object for plans so that they can sync even in time strip views
Allow the name of couch search folder to be configurable
* Move observing of couchdb changes to the _toMutable function
* Fix unit tests
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
* Initial commit of plot refactor for vuejs
* Use es6 classes instead of using extend
* Use classList api to add and remove classes
* Remove angular specific event mechanisms
* Refactor plot legend into smaller components
* Refactor moving config into MctPlot component. Fix Legend issues.
* Refactor XAxis and YAxis into their own components
* Remove commented out code
* Remove empty initialize method
* Fix grid lines and initialize function revert.
* Check that plots views are available only to domainObjects that have range and domain
* Make css class a computed property
* Remove unnecessary legacyObject conversion
* Remove comments and commented out code
* Remove use of private for vue methods
* Remove console logs
* Fixes Y-axis ticks display
* Add plots and plans to the time strip view
* Adds stacked plots and overlay plots
* Fix css for stacked plots
* Disable Vue plots
* Rename Stacked plot item component
* Make the time axis a component
Ensure plans and timelines use the time axis component and it is displayed correctly
ensure plots don't display specific controls when in compact mode
* Add missing file
* Revert change to state generator metadata
* Address Review comment: Remove unnecessary event emitted
* Address review comments: Add a note about why nextTick is needed
* Display time systems in time strip view
Update look and feel (css)
* Fix bug with legend when multiple plots are being displayed
* Don't show action buttons for stacked plots
* Changes to plan view to render as a css grid
* Change LinearScale to a class
* Remove duplicated comment
* Adds missing copyright info
* Revert change to stackedplotItem
* Styling for Timestrip view WIP
- Significant mods to markup and CSS to use CSS grid;
- CSS class names changed;
* Styling for Timestrip view WIP
- Temp mods to illustrate design desires for the appearance of the time
axis;
* Layout changes for plan in timestrip view
* Increase style height to match number of stacked plot items
* Fix ticks
* Fix removal of activities
* Remove event listeners on destroy
* Styling for Timestrip view WIP
- VERY WIP trying to make the plan component work properly when dropped
into a Timestrip view, lots of badness that needs to be fixed;
- Refined classes in acivity bars to differentiate between the rect and
its text;
* Show Vue plots only in timestrip view.
Reorder and Remove now works for timestrip objects
* Make swim lanes a component to be reused by time strip and plan views
Rewrite svg rendering to use javascript rather than d3.
Write a prototype of foreign object for svg to render text
* Don't show left and right edges when start or end is out of bounds
* Descriptive name for Plan views
* Adds plan icon and name
* Fixes linting issues
* Adds basic tests
* Fixes broken test.
* Adds new test
* Fix linting errors. Adds tests
* Adds tests
* Adds tests for stacked plots
* Adds more tests
* Removes fdescribe
* Adds tests for y-axis ticks
* Tests for addition of series to plots
* Adds more tests
* Adds cursor guides test
* Adds tests for interceptors
* Adds more plots tests for x and y scale
* Use config store
* Adding goToOriginalAction tests
* Fix tests for plan and time strip views
* Fixes height of SVG
* Fixes broken tests
* Address review comments: remove view options API change.
* Remove commented out code
* Fix tests
* Use the clientWidth of the plan if it's available
* Account for the width of labels in the client width
* Remove unnecessary test code
Co-authored-by: charlesh88 <charlesh88@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* fix isMutable error when domainobject is undefined
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.com>
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Adds a compass rose component showing spacecraft and camera pointing direction in images, as well as sun location.
* Adds a "heads up display" component that shows heading at the top of images, as well as sun direction
* Adds freshness indicators for spacecraft and camera position
Co-authored-by: Jamie Vigliotta <jamie.j.vigliotta@nasa.gov>
Co-authored-by: David Tsay <david.e.tsay@nasa.gov>
Co-authored-by: charlesh88 <charlesh88@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: charlesh88 <charles.f.hacskaylo@nasa.gov>
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
* Implements ObjectAPI changes to refresh objects when an update is received from the database.
* Populates a virtual folder of plans from CouchDB
* Fixes bug with supportsMutation API call parameters
* MCT-3528: Add Condition Manager changes
its been smoke tested
* Fix bounds getter and amend unit test
* Change fdescribe back to describe
* [Object API] add object provider search (#3610)
* add search method to object api
* use object api search
* do not index objects that have a provided search capability
* provide indexed search for objects without a search provider
* Upgrades to eslint-plugin-vue 7.5.0 (#3685)
* Preparing for sprint 1.6.2 (#3663)
* [NonEditable Folder Plugin] Default Install, Browse Bar Update, StyleGuide Use (#3676)
* default noneditable folder plugin, change styleguide folders to uneditable folder types, browse bar object name no longer input box if not createable
* moved plugin to mct.js instead of index.html
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* Fixes [Flexible Layout] bug with composition (#3680)
* fix delete and composition load
* remove unused remove action
* remove star listener and use computed property
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.com>
* Notebook saved link (#2998)
* https://github.com/nasa/openmct/issues/2859
* create and store link to default notebook in storage and pass it to notification.
* [Notebook] Add link to notebook inside 'Saved to Notebook' notification #2860
* Added custom autoDismissTimeout for into notifications.
* Backwards compatibility fix for old notebook model without link in metadata.
* lint fixes
* added JS Doc description for API changes + changed property names to appropriate function.
* fixed bug due to merging.
* fixed url update loop
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.com>
Co-authored-by: Nikhil <nikhil.k.mandlik@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Initial commit of plot refactor for vuejs
* Use es6 classes instead of using extend
* Use classList api to add and remove classes
* Remove angular specific event mechanisms
* Refactor plot legend into smaller components
* Refactor moving config into MctPlot component. Fix Legend issues.
* Refactor XAxis and YAxis into their own components
* Remove commented out code
* Remove empty initialize method
* Fix grid lines and initialize function revert.
* Check that plots views are available only to domainObjects that have range and domain
* Make css class a computed property
* Remove unnecessary legacyObject conversion
* Remove comments and commented out code
* Remove use of private for vue methods
* Remove console logs
* Fixes Y-axis ticks display
* Adds stacked plots and overlay plots
* Fix css for stacked plots
* Disable Vue plots
* Rename Stacked plot item component
* Address Review comment: Remove unnecessary event emitted
* Address review comments: Add a note about why nextTick is needed
* Fix bug with legend when multiple plots are being displayed
* Change LinearScale to a class
* Remove duplicated comment
* Adds missing copyright info
* Revert change to stackedplotItem
* Adds basic tests
* Fixes broken test.
* Adds new test
* Fix linting errors. Adds tests
* Adds tests
* Adds tests for stacked plots
* Adds more tests
* Removes fdescribe
* Adds tests for y-axis ticks
* Tests for addition of series to plots
* Adds more tests
* Adds cursor guides test
* Adds tests for interceptors
* Adds more plots tests for x and y scale
* Use config store
* Adding goToOriginalAction tests
* Modified tests to increase coverage, and added teardown for application router
* Fixed linting issues
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* moved nav up arrow down one tree item and updated icon
* cleaned up css to be more targeted for up arrow
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
Co-authored-by: charlesh88 <charlesh88@gmail.com>
* https://github.com/nasa/openmct/issues/2859
* create and store link to default notebook in storage and pass it to notification.
* [Notebook] Add link to notebook inside 'Saved to Notebook' notification #2860
* Added custom autoDismissTimeout for into notifications.
* Backwards compatibility fix for old notebook model without link in metadata.
* lint fixes
* added JS Doc description for API changes + changed property names to appropriate function.
* fixed bug due to merging.
* fixed url update loop
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* fix delete and composition load
* remove unused remove action
* remove star listener and use computed property
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.com>
* default noneditable folder plugin, change styleguide folders to uneditable folder types, browse bar object name no longer input box if not createable
* moved plugin to mct.js instead of index.html
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* add search method to object api
* use object api search
* do not index objects that have a provided search capability
* provide indexed search for objects without a search provider
* new non-edtiable folder plugin as well as updates for folder views to accept this type
* tests for new plugin
* remove fdescribe
* correcting a test expectation
* added a constnats file for folder view types
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
Changes how object mutation works behind the scenes in order to keep objects in sync automatically when their model changes.
* The way that objects are mutated and observed has not changed, openmct.objects.mutate and openmct.objects.observe should still be used in the same way that they were before.
* Behind the scenes, domain objects that are mutable are wrapped in a new MutableDomainObject that exposes mutator and observer functions that allow objects to be mutated in such a way that all instances can be kept in sync.
* It is now possible to retrieve MutableDomainObjects from the API, instead of regular domain objects. These are automatically updated when mutation occurs on any instance of the object, replacing the need for "*" listeners. Note that the view API now provides objects in this form by default. Therefore, you do not need to do anything differently in views, the domain objects will just magically keep themselves up to date.
* If for some reason you need to retrieve an object manually via openmct.objects.get (you should ask why you need to do this) and you want it to magically keep itself in sync, there is a new API function named openmct.objects.getMutable(identifier). Note that if you do this you will be responsible for the object's lifecycle. It relies on listeners which must be destroyed when the object is no longer needed, otherwise memory leaks will occur. You can destroy a MutableDomainObject and its (internal) listeners by calling openmct.objects.destroyMutable(mutableDomainObject). Any listeners created by calls to openmct.objects.observe need to be cleaned up separately.
* If the composition of a MutableDomainObject is retrieved using the Composition API, all children will be returned as MutableDomainObjects automatically. Their lifecycle will be managed automatically, and is tied to the lifecycle of the parent.
Any MutableDomainObject provided by the Open MCT framework itself (eg. provided to view providers by the View API, or from the composition API) will have its lifecycle managed by Open MCT, you don't need to worry destroying it.
* Throttle conductor updates
* Tweak to animation steps
- Changed `steps(12)`` to 15 to align better with clock index positions;
Co-authored-by: charlesh88 <charlesh88@gmail.com>
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* passing click and context click on tree item down to object label, making the whole tree item interactive
* removed unnecessary code
* WIP: removing propagation prop from view control and just stopping all propagation
* capturing click on tree item and then calling the click handler on objectLabel, this prevents multiple events and handles all clicks in the tree-item
* removing unnecessary ref
* ignoring clicks for view control so it can handle them itself
* made view control class a constant
* replaced class-based checks with ref-based checks
* removing old leftover code
* add ability to pass onDestroy callback to menu api show
* fix lint issues
* remove fdescribe
* rename event and variables to contextClickActive
* rename variable to active
* Sanding and polishing CSS related to context-click visual feedback
- Changed CSS `border` approach to `box-shadow` to avoid jumping;
- Removed unwired code and CSS styles for Folder grid and list views;
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: charlesh88 <charlesh88@gmail.com>
* Don't apply styles on destroy as destroy should not have any side effects
* Don't show undefined if trigger for condition is not available yet
* Force recalculation of condition result if telemetry is removed
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>