* Add a requestAbortController for the telemetryAPI and trigger an abort of all requests on navigation via the router.
* Check for the rejection and make sure it's not an abort error to show the error
* Change document title on BrowseBar or PropertiesDialog change
* Revert update name title mutation
* Added listener for object name mutation
* Remove properties action approach and scope to * instead of name
* Remove extra line break
* 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>
* removed DEPRECATION warnings
* test fixes
* added spec reporter to debug failing tests and fixed couple specs
* disabled failFast to see all failing tests
* disabled fail test and change timeoutInterval to 5000
* removed unused debounce import
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* 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>
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>
* 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>
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.
* upgrade to ESLintv7, added overrides for rules violated
* removed overrides for spec files
* fixed no-prototype-builtins issues
* added rules for default-case-last, default-param-last, grouped-accessor-pairs, no-constructor-return, and added override for one violation
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
* Updated library versions
* Use Karma alternative spec loading
* Fixed memory leak in URLTimeSettingsSynchronizer
* Introduce mock DataTransfer object to fix issue with firefox headless
* make resetApplicationState return a promise
* Remove BeforeAll
* Do not throw an error if root returns no children
* Adding missing parameters to ES tests
* Fixed TransactionService bug
* bump test coverage up to 64%
* 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>
* add context menu capability to table rows, add view switcher to preview
* add an option to limit context menu actions to the ones requested, and modify preview action to also include a view historical data action
* extend preview action into view historical data action
* add context menu to LAD Table
* add keys to context menu actions, allow tables to conditionally attach context menu handler
* working switch y axis label
* New vertical select element for Y axis configuration in plots
- CSS for vertically rotated selects for Y axis label selection;
- New theme constants;
- Removed themedSelect theme mixins;
- New SASS svgColorFromHex function;
* use keys in lad table context menu options
* show historical view context menu on alpha-numerics
* make reviewer requested changes
* pass contextual object path from object view down etc
* made reviewer requested changes: removed options object, pass in object path instead
* remove redundant function from LADRow.vue
* fix error in location.vue because of drawing objects in selection
* add conditional to check if view is editable before forcing edit after create
* show original location only in inspector, add original location for drawing objects
* fix document title
* set document title in browse.js
* sort items in create menu
* sort children in tree by name
* remove ordering from tree items
* add loading spinner
* fix minor bug
* Added 'reorder' function to composition API
* Re-implemented reordering in Elements
* Make LAD table editable
* Remove test spec focus
* Fixing bugs with event listeners
* Clean up listeners properly in Elements pool
* Fixed race condition on drag-and-drop to initiate edit
* Implement reordering in LAD tables
* Build config changes necessary to work with VISTA
* Fixes to TelemetryTableRow to address bug in VISTA
* Fixed sass-fast-loader version to avoid https://github.com/yibn2008/fast-sass-loader/issues/47
* Reverted default theme
* - Show "Add" button in the toolbar when a display layout object is selected.
- Add a flag to object view's show() method to indicate immediate selection of the view. If the view implements getSelectionContext() use it, otherwise set to default context.
* Create a component for each element.
* Saving work
* Add element factory for creating new instances of elements.
* Mutate element when a new one added and get elements when the component is mounted.
* Add create() method for creating a new telemetry and element in their respective view configuration.
* Add some of the toolbar controls for box, text, image and line elements. Also, add X, Y, Width and Height controls for alhpanumeric elements.
* Pass name to addElement as type.
* Add c-frame-inspectable class if item is inspectable.
* Clean up
* Hide frame for summary widgets by default.
* Better styling for editing
- s-selected on shell__main-container;
- Better edit grid coloring for espresso;
* - Update toolbar-button to support dialogs.
- Update toolbar to construct a value object based on form keys if a toolbar item has a dialogi, and mutate the form keys.
- Add toolbar controls for editing text and url for 'Text' and 'Image' elements respectively.
* Editing-related changes
- Removed hard-coded .is-selectable and .is-moveable from
LayoutItem.vue, updates accordingly to _global.scss;
- Theme constants updated;
- TODO: apply changes to Flexible Layouts;
* Better defaults
- Better default grid size and object size;
* - Fix toolbar-input to read value as a number if type is 'number'.
- Remove rawPosition from view configuration and instead get the position and dimensions from the properties (x, y, width and height) directly.
- Set the style property on the view configuration instead of the layout item.
- Move the logic for updating the style to the view configuration.
* Fix default dimensions for telemetry items and subobjects since the default grid size is changed.
* Remove form definition for display layout type.
* Reword the comment
* Let subobject view configuration handle new panel creation.
* Add default grid size back and remove unused code.
* Pass in only the needed method.
* Define default position in case the object is not added via drag 'n drop.
* Implemented drag-and-drop composition
* Added composition policy for tables
* Reimplemented elements pool in Vue
* No need to resolve all objects on the navigated path
* Only show elements pool in edit mode
* Remove old elements pool
* Updated legacy code to use composition policy API
* Keep object in sync when mutated
* Wire up create with old create action
* refactor grid and list view to listen on composition, use lodash for sorts, remove item count
* remove item count on grid view
item count needs to be supported by composition API and not by
inspecting model, otherwise it will be inconsistent.
* close menu after create or clickaway
* Adding edit mode API and buttons
* Select navigated object by default. Enable table configuration in edit mode.
* Fixed issue with Table configuration
* Removed debugging code
* Added basic documentation to Editor API
* use selectable, table is selection[0], inspector cleans up
Update browse to set selection using openmct.selection.selectable
on navation so that selection contexts can be determined correctly.
Update table configuration to reference the first item in selection
instead of the last item in selection when displaying.
Update inspector code to remove display node from document on destroy.
* properly remove capturing handler
* inspector views respond to editing
InspectorViews respond to editing instead of openmct rerendering
the inspector on edit.
Update ObjectView to better support reuse in layout and preview.
Register as component, and then mount like so:
<object-view :object="domainObject"></object-view>
It will show the default view for that object. If you want to
specify a specific view type, you can pass an optional "view" prop
which will specify the view key to load.