* 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>
* added priority api with an enum for sane priority defaults
openmct.priority.LOW: -1000. Should always run last.
openmct.priority.DEFAULT: 0. This is the default unless you specify something else.
openmct.priority.HIGH: 1000. Should always run first.
* allow indicators to be sorted by priority
* Independent time API implementation
* Independent time conductor in plan view
Co-authored-by: charlesh88 <charles.f.hacskaylo@nasa.gov>
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
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>
* [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>
* 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
* 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>
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.
* WIP: added new move action plugin, added to default plugins in mct.js
* WIP: removed old move action and references, added new root action, working, needs tess
* added tests for move action
* removing focused tests
* WIP
* using composition collection now, optimized some calls
* removed test for removed function
* minor spec change, format only
* updated for new action registration and 3 dot
* removing comments
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
* WIP: refactoring legacy dulicate action
* WIP: debugging duplicate duplicates...
* WIP: fixed duplicate duplicates issue
* added unit tests
* removing old legacy copyaction and renaming duplicate action
* removing fdescribe
* trying to see if a done callback fixes testing issues
* fixed tests
* testing autoflow tests on server
* tweaked autoflow tests to stop failing
* minor updates for new 3 dot menu
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* 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>
* Added new test to telemetry tables to check that telemetry data is correctly rendered in rows
* Added test tools for mocking builtins
* Changed order that promises are resolved to address race condition
* Remove duplicate installation of UTC Time System
* Added additional test telemetry
* Start Open MCT headless
* Added headless mode start option. Fixes#3064
* Added new non-angular URL handler
* Removed legacy Angular TimeSettingsURLHandler
* Added function to testTools to reset application state
* Use resetApplicationState function from telemetry table spec
* Added new TimeSettingsURLHandler to plugins
* Added missing semicolons
* #2826 Refactored code into separate class
* Handling of hash-relative URLs
* Refactoring URL sync code
* Refactored to external class
* Moved utils to new 'utils' directory. Refactored location util functions from class to exported functions
* Added test specs for openmctLocation
* Added new function to destroy instances of Open MCT between test runs
* Ensure test specs are cleaning up after themselves
* Added test spec for new URLTimeSettingsSynchronizer
* Removed use of shell script as it doesn't work in windows
* Pushed test coverage to 100%
* Added missing copyright statement
* Removed debugging output
* Fixed linting error
* Upgrade node version
* Clear cache
* Re-enabled tests
Co-authored-by: Melanie Lean <melanielean@Melanies-MacBook-Pro.local>
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
[Notifications] Need a clear all notifications option #3006
* create new notifications indicator in vue, and sunset old one
* add notifications list overlay
* working notifications
* add support for progress notifications
* update percentage on mounted
* Markup cleanups in new Vue Notifications files
- Removed unneeded markup and class wrappers;
- Removed unneeded inline styling;
* remove example notifications
* fix lint errors
* make reviewer requested changes, remove old not needed files, add test
* update testTools to testUtils
Co-authored-by: charlesh88 <charlesh88@gmail.com>
* Upgrades lodash
* Replaces some usage of lodash with native functions.
* Adds linting to catch cases where native functions could be used instead of lodash functions
* Renamed testTools to testUtils
Co-authored-by: Joshi <simplyrender@gmail.com>
Co-authored-by: David Tsay <david.e.tsay@nasa.gov>
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* 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()`)
* Initial commit of telemetry table spec
* Fix errors found by running Open MCT app headless
* Do not double install import-export plugin
* Changes to allow Open MCT to be initialized more than once without binding to window.document
* Remove table spec accidentally added
* Misc UI 10
- Add .c-input--sm CSS class for VISTA auto-clear input;
* Misc UI 10
- WIP!
- Add new glyohs: suitcase and clear data;
- Change icon-database to icon-suitcase;
- Need to unit test!
* Misc UI 10
- Refinements to shell__head Indicators layout;
- Refinements to collapse-buttons;
- Better color for Snow theme caution;
* Misc UI 10
- Better Open MCT logo for Snow theme;
- Renamed logo-app.svg to logo-openmct.svg;
- Removed unused image files;
* Misc UI 10
- Remove title attr from Angular indicator, interferes with hover
element;
* Misc UI 10
- Fix favicons, updated art;
- Removed favicon.ico;
* Misc UI 10
- Rebuild of Icomoon JSON file, which appeared to have gotten
damaged, probably due to merging;
- Font files updated, added .svg font back to repo;
- Font metrics modified to now use 20% baseline height;
* Misc UI 10
- Fix class in plot for control-bar element;
- Fix CSS in ObjectFrame.vue;
* Misc UI 10
- Rename folder styles-new to styles;
* Misc UI 10
- Remove unused src/fonts folder;
* Misc UI 10
- Symbols font now using baseline of 20%;
* first proto of global clear, working on tables
* global clear works on plots
* styling
* Status bar migration to top of layout, WIP
- Refine and remove legacy styles for Indicators;
- Significant cleanup in Indicator markup;
- Remove unnecessary wrapper component StatusBar.vue;
- Move collapse-button styles to a more general location in _controls
.scss;
- New hasMenu mixin to allow easier application of disclosure control
styling;
* Status bar migration to top of layout, WIP
- Refine styles and markup for Indicators;
- Better separation of styles for clickable and non-clickable
Indicators;
* Status bar migration to top of layout, WIP
- Added tracking style to indicator-template;
- Moved click action to button in label of globalClearIndicator;
- Removed unnecessary markup in Indicators.vue;
- Commented out __head collapse button for now in Layout.vue;
* Status Bar Migration WIP
- Significant progress styling Indicators and their hover bubbles;
- Pull back from clickable Indicators to hover approach;
- Better theme-based constants for Indicator menu-related colors;
* Status Bar Migration WIP
- Significant refactor of label element naming in multiple indicator
markup files;
- Refactor label-related CSS;
- Better class naming: no-collapse > no-minify;
- Refactor example *-launch files to use buttons instead of <a> tags;
- Significant progress on expanding shell head and button styling;
* Status Bar Migration WIP
- Cleanups, sanding on Indicator CSS;
- Added local storage retention for head expanded state;
- Adjust dark theme colors for $colorWarningHi for better legibility;
- Other minor tweaks and fixes;
* Status Bar Migration WIP
- Suppress background in Indicators;
- Restore Snow as default theme;
* add a local clear action, rename plugin
* objectViews extends eventemitter, table view provider provides an onClearData function that is called from ObjectView when clear event is emitted. TODO - support plots
* add support for plots via legacy view provider
* add test for clearDataAction
* remove focus from test file
* install the following plugins by default:
Import Export
Folder View
Tabs View
Flexible Layout
LAD Table
Go To Original Action
* update test to include plugin level tests
* remove focus from unit test
* Optionally provide list of object types to show as views rather than alpha numerics to display layouts
* Only make table view available for objects that have telemetry to show
* Added legacy about dialog launcher
* Added build information and licenses dialog
* Made discussed changes to About API. Is now Branding API and a little more user friendly
* Added fullscreen overlay option
* About dialog and licenses overlay screens migrated
- Migrated CSS and refined styling;
- Unit tested in Open only - not able to test other 'brands';
* Preview instead of navigate when in edit mode.
* Prevent preview of navigated object
* Removed trailing comma
* Observe navigation from tree items instead of mct-tree
* Cleanup of redundant code
* .is-selected -> .is-navigated-object
* Support category arrays for legacy actions
* Fixed object path listener. Removed old context menus
* Removed old fullscreen action and Screenfull dependency
* Restore confirmation dialog on remove
* Restored tests
* Remove unused legacy policies
* WIP re-implementation of Preview action
* WIP for Charles to take a look at flex issues
* Disable legacy preview action
* Style and markup fixes for new Preview
- LegacyViewProvider modded to wrap legacy elements in .u-contents div;
- Added selector that automatically defines display: contents on
`no-class` divs injected into __object-view;
- Unit tested with legacy and new components (telem tables, plot view,
Notebook, etc.)
* Tweak z-indexes, fix open in new tab action, add 'done' button
* Removed legacy action
* reuse contextMenuDropDown component
* Adding jsdoc to Context Menu Registry
* Remove attachTo function - make context menu gesture a mixin. Update object path when objects change.
* Added context menu from arrow button. Some minor refactoring
* Clarify variable naming
* Moved Context Menu component
* Reorder function definitions
* Addressed code review comments
* temporarily disable remove dialog which is broken
* temporarily remove broken context action policy
* let openmct generate legacy objects
* ensure composition loads in specified order
* redo nav and add context menu support to tree
* componentize grid and list view, add context menus
* modify overlay service to accept bottomBarButtons option, working annotate on snapshot view
* working blocking message
* move blocking message to overlay service
* return dismiss function on show
* added jsdocs for overlayService
* added progress bar, with setter and getter functions
* make reviewer requested changes
* re-overhaul of overlayAPI
* Integrate work in dialog-service-vue-style
- Markup in DialogComponent and OverlayComponent now up to date;
- Colors, constants;
- Notebook entry now passes correct buttons config;
- New bg data URIs added;
- u-icon-bg-* classes added to global.scss;
* Added deprecation comments to .vue files
* Removed styles from deprecated file
* Temp restore of CSS so that dialog doesn't break.
* remove old OverlayService
* Fixed to overlay CSS
- Fixed large, small, fit sizes;
- Added margin to overlay buttons;
- Code cleanup;
* Remove unused constants
* Tweak styles for __close-button
* Code cleanup
* small cleanup
* wip progressDialog
* Progress bar fixed and Vue-ized
- Markup, styles;
- Constants moved from theme files into _constants.scss;
* added jsdocs to new Overlay API
* remove unused example function
* use progressBar.vue in NotificationBanner.vue, wire up the maximize method with progressDialog and Dialog from OverlayAPI
* Styling in progress for status message banners
* openmct members are camelCase
* Remove unimplemented/unused apis
* working overlayService
* wire to snapshot, and add onDestroy Callback
* increment overlayId
* New branch from topic-core-refactor to use as central point for common
CSS work
- Manually migrated changes from vue-toolbar, expect conflicts there and
in vue-layout;
* Manually update constants-snow from vue-toolbar branch
* Update markup to use latest button classnames
- c-menu-button > c-button--menu;
- c-icon-button > c-click-icon;
* Various from vue-conductor-style
- Mods to input styling;
- Input[] styles moved to _controls;
- New/revised constants vals;
* Resolve bizarre merge conflict when applying stash
* Code cleanup
* remove duplicate div
* Alias and type-icon fixes
- More robust approach to alias indicators;
- Added alias indication to tree-item.vue;
- TODO: wire up alias indication tree-item.vue;
* Accessibility mods, convert elements to <button>
- Better reset styles for htmlInputReset mixin to allow use of <button>
without browser default styling;
- Create button;
- BrowseBar action buttons;
- c-click-icons;
- Removed Preview button from BrowseBar.vue;
* Overlay styling WIP
- Base markup pretty solid;
- Stubbed in temp values for overlayTypeCssClass in overlayService.js;
- TODO: styling for contents area;
* add options object, scope variables to show function, add destroy callback to active Overlay Object (for easier retrieval