* 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>
* 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>
* [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>
* 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>
* 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>
* 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>
* 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
* 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>
* 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
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.
* 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>
- Moved CSS rule that was pushing the font style control to the right
side of the Inspector to `l-shell__toolbar` rule definition;
- Fixed `menus-to-left` CSS rule and applied to font size and style
menu controls;
- Added a new `menus-no-icon` style for menus that don't have icons,
applied to font size and style menu controls;
- Increased opacity of `c-icon-button` labels;
- Fixed CSS selector targeting no-icon menu items;
- Hide overflow in `c-so-view` header element to prevent icons extending
outside very small layout frames;
* [Notebook] new entries on brand new notebook not rendered #3488
* Refactored code to 'mutateObject' from one place only, add page to newly created section immediately, update entries copy then call mutate to update it inside domainObject.
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Fairly extensive refactoring to fix layout in Safari for VERVE #266
- VERY WIP at this time!
- Many instances of `height: 100%` converted or amended to include
`flex: 1 1 auto`;
- Some high-use containers like `c-so-view__object-view` converted to use
flex layout;
- Views fixed generally for sub-object view, and specifically for
Conditionals, Folder grid view and Imagery;
- Imagery background image holder converted to use absolute positioning;
- TODO: Notebook has a problem where the side nav pane isn't overlaying
in Safari - it's a JS thing, c-drawer--push isn't be replaced with
c-drawer--overlays as it should;
* CSS and markup refactoring to support addition of 'suspect' telemetry
- Remove commented code;
* added resize observer for FIRST load of mainTree
* new Promise driven height calculation test
* cleaning up code, sticking with promise height caclcuations
* more cleanup
* returning from the initialize function
* working proto for font size
* wip
* Font styling
- Base classes for font-size and font;
- WIP!
* working data attribute for fontsize
* Font styling
- Add `js-style-receiver` to markup, refine style targeting JS for
better application of styles;
- Refinements to font and size CSS;
- WIP!
* Font styling
- Redo CSS to use `data-*` attributes;
- New `u-style-receiver` class for use as font-size and font-family CSS
selector target;
- New `js-style-receiver` class for use as JS target by ObjectView.vue;
- New classes added to markup in all Open MCT views;
- Changed font-size values from 'is-font-size--*' to just the number;
- Some refinement to individual views to account for font-sizing
capability;
- Removed automatic font-size 13px being set by SubobjectView.vue;
- WIP!
* working mixed styles
* Font styling
- Added `u-style-receiver` to TelemetryView.vue;
- Added `icon-font-size` to Font Size dropdown button;
- TODO: better font-size icon;
* working font-family
* Font styling
- Art for `icon-font-size` glyph updated;
- Redefined glyph usage in some Layout toolbar buttons;
- Updated font-size and font dropdown menus options text;
* Font styling
- Refined font-size and font dropdown values;
- Fixed toolbar-select-menu.vue to remove 'px' from non-specific option
return;
* dont allow font styling on layouts that contain other layouts
* fix lint warning
* add sizing row
* fix bug with column width sizing
* fix bug with header style
* add saved styles inspector view
* WIP
* add vue component for selector
* WIP styles manager to communicate between vue components
* WIP saving and persisting styles
* no duplicate styles prevention
* fix props syntax
* WIP can apply conditional styles
* static styles do not work yet
* display border color in saved styles swatch
* allow deleting styles except default style
* WIP apply static style works but also to layout...
* prevent additional StylesView from being created
* delete style message
* change save order
* move applystyle to selector component
* rename for consistency
* naming refactor
* add style description
* update style properties only if they exist and do not erase properties
* refactor singleton usage
refactor save method
* show save and delete only on hover
* do not show delete icon if not in edit mode
* normalize styles before saving
prevent apply style if conditional and static styles are simultaneously selected
* remove default style
tweak selector display
* allow conditional and static styles to have saved style applied
limit saved styles to 20
* refactor styles manager
remove openmct dependency
use provide/inject
* resolve merge conflicts
* lint fix
* reorganize styles
* add font style editor to styles view
* save and display border correctly in saved styles view
* WIP add font styling controls to inspector styles view
* add font constants
* WIP refactor to provide reactive props
fix locked for edit
* WIP display consolidated font styles for selection in editor
* WIP font styles saved to layout
* WIP persisting font styles from inspector works
* fix styleable check
* move logic up to stylesview because save is two part
* apply font style to thumb
* there can be only one
* show font style for native views
* linting fix
* push stylesManager work to StylesView
* move method to computed
* move constant definition outside of function call
* Styling for saved styles functionality WIP
- Simplified and removed unnecessary markup;
- Standardized style applied to saved style element and toolbar control;
- Removed saved style expand arrow and description, replaced with item
title / tooltip approach;
- Standardized width of `c-style-thumb` element;
- Moved font size and style controls to the designed location;
* Styling for saved styles functionality WIP
- Layout and CSS normalization between style editor control and saved
style preview element;
- Control alignment refined;
- Moved font size and style controls to the designed location;
* Styling for saved styles functionality WIP
- Update font size icon art to normalize size;
- Sanding, tweaking, alignin and layout in style controls area of
Inspector;
* Styling for saved styles functionality WIP
- Hide the font size and style menu buttons unless the user is editing;
* remove font controls from toolbar
* turn styles tab into multipane element
* lint fix
* no font style should not be viewed as non-specific
* delete saved style by index not style
* cleanup
* view and inspector view updates on initial font change
* revert computed back to method
* set initial height
* fix test after removing 2 buttons from toolbar
* fix hidden lint error
* fix lint
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
Co-authored-by: charlesh88 <charlesh88@gmail.com>
* added new navigation method for tracking, lots of optimizations
* updated indicator logic, tweaked objectPath/navigationPath, removed old code
* added temporary ancestors variable to be used while building new tree ui during navigation
* removed observer for ancestors, all handled in composition watch now
* updates from PR comments
* fixing testing errors
* checking for older format of saved path, update if old
* add marked rows and total rows in tables
* Styling for table row counts addition
- Main styles for new `.c-table-indicator` and elements;
- Refined main layout spacing;
- Layout for table footer elements;
- Hover behavior for footer when table in Display Layout;
* Styling for table row counts addition
- Refined `.c-filter-indication` styles;
- Refined `.c-table-indicator` styles;
- Added dynamic tooltips for total and marked rows count elements;
* fix lint issues
Co-authored-by: charlesh88 <charlesh88@gmail.com>
* block nav when "syncing" tree only, where most of the problems popped up
* not populating ancestors on navigation until current directory children loaded
Co-authored-by: Jamie Vigliotta <jamie.j.vigliotta@nasa.gov>