* Domain object properties validation not working always #4849
* stub of a test
* set local execution to chrome
* skip visual test
* use input event for changes and throttle update.
* moved file to correct location
* fixed e2e tests.
Co-authored-by: unlikelyzero <jchill2@gmail.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* making move action location check persistability
* adding persistence check instead of creatability for styles
* added check for link action to make sure parent is persistable
* debug
* adding parent to link action and move action form location controls so they can be used in the form
* adding parent persistability check for duplicate
* updating multilple actions appliesTo methods to check for persistability
* updated the tree to not require an initial selection if being used in a form
* remove noneditable folder plugin
* added persistence check for the parent, in the create wizard
* minor name change
* removing noneditabl folder from default plugins as well
* checking the correct parent for persistability in create wizard
* importing file-saver correctly
* updated tests for import as json
* changes addressing PR review: using consts, removing comments, removing unneccessary code
Co-authored-by: Scott Bell <scott@traclabs.com>
* if user provider, user added to notebook enntries and snapshot entries, updated code to work with asynnc nature of user api
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Nikhil <nikhil.k.mandlik@nasa.gov>
* Add clearData listener for imageryData module
* Remove commented out code
* Updated imagery clear data test
* Adjusted telemetry stub to return empty array if data cleared
* Remove forced test
* Restub telemetry before
* Cleanup and reset clear data boolean after
* Remove double blank line
Co-authored-by: Scott Bell <scott@traclabs.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Update e2e tests to run on windows and linux
* Add pr-platform to run against all supported archictures
* Update dependabot to run pr:platform
* Update to run in fail-fast false
* remove x86
* Update pr-platform.yml
Co-authored-by: unlikelyzero <jchill2@gmail.com>
* [CI] Add lighthouse to our deps to track with dependabot
lighthouse ci is still actively maintained and will be following a traditional release model. We should continue to use this package until it's functionality is replaced in playwright
* Add lighthouse to dependencies to track with dependabot
* Allow lighthouse to be triggered from PRs
* Update lighthouse.yml
* add lhci scrript
* bump to 16
* remove from deps until node 18
* document steps and add caching. Revert to 14
* ignore exit codes
* add secret for app
* remove env for baseline
Co-authored-by: unlikelyzero <jchill2@gmail.com>
Co-authored-by: Nikhil <nikhil.k.mandlik@nasa.gov>
* [Docs] Update Github Bug Report Template with envinfo
* Moving Impact Checklist to bottom so that folks can file and click without markdown x
* Add to npm run scripts
* Remove legacy codebase
* Remove legacy docs
* Fixed memory leak in timer spec
* Remove Angular dependency
* Removed adapter layer
* Removed legacy support plugin from main Open MCT repo
* Restored TelemetryAPI.js which had been inexplicably deleted?
* Fix linting error
* Drop line coverage threshold due to removed code
* Added a section on Open MCT 2.0.0 to the readme
- Add objectTypeClass property to allow new CSS selector to target Plan object types in Timestrip views.;
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
* [CI] Dependabot to run on all packages
* Pin dependencies
Co-authored-by: unlikelyzero <jchill2@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Update version number (#4759)
* update copyright (#4775)
* Observe changes to sub-objects in flexible layouts. (#4780)
* Get child of flex layout as mutable if possible
* Fix bug when no default notebook defined
* Follow domain object changes for Independent time conductor (#4783)
* Track if domain object changes when independent time conductor is in use.
* fix typo when using fallback template (#4784)
Co-authored-by: Scott Bell <scott@traclabs.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* removed selector tree, using mct-tree for selctor now, updated style view to use new forms api, update mct-tree to be a selector if need be
* added some extra calculations for height when the tree is being used as a selector in forms
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
* Do not keep fetching default notebook
* Fixes issue where notebooks would stop listening for remote changes.
* Fix issue with notebook merge conflicts
* Fix object creation (#4675)
* Save the object before adding it to the parent so that transaction committing works properly
* Fix object creation - composition policy changes
* use relative path (#4683)
* Notebook Snapshotting to the default Notebook isn't working (#4475)
* Notebook Snapshotting to the default Notebook isn't working #4469
* Check for ref when trying to get the style receiver. (#4687)
Also ensure that the property being displayed in Properties is actually a part of the domainObject.
* Mct 4555 rebased v3 (#4689)
* Preserve the previousFocusedImage for subscription updates, bound change for local and fixed time
* Only preserve previous focused image if paused
* Forcibly reset imageContainer size to prevent aspect ratio distortion
* Remove unneccesary mixin invocation
* Use image history instead of imagehistory size for watcher. Revert other changes
* Added check if last image index is selected
* isPaused instead of paused
Co-authored-by: Michael Rogers <contact@mhrogers.com>
* Snapshot notice link not navigating as expected #4194 (#4686)
* Fix Link Action to accept the right input for validation (#4696)
* Remove snapshot from release version (#4721)
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
Co-authored-by: Nikhil <nikhil.k.mandlik@nasa.gov>
Co-authored-by: Michael Rogers <contact@mhrogers.com>
* Run full regression suite on PR
* Limit concurrency to 2 workers
* Update PULL_REQUEST_TEMPLATE.md
* Added prcop config
Co-authored-by: unlikelyzero <jchill2@gmail.com>
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Updates Event Generator to ES6 classes and current API.
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* 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
* wrote little script
* wrote little script
* added script to update copyright
* include html
* include md
* update script
* captures all copyright now
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* Move off node10 and bring in node16
* Update engine lock
* update webpack and add the output.hashFunction option to avoid a potential issue with Node 17 in case the config changes closer to defaults
At the moment there is no error with Node 17 because the config strays from the defaults and avoids the common case.
Also add a tsconfig.json file that enables VS Code and other IDEs to perform type checking on the side. For example now the webpack config file is type checked. This does not impact any existing processes, our build scripts are left untouched and only IDEs will use it for live intellisense and type checking when viewing files (f.e. showing helpful red squiggly underlines on type errors)
* mini-css-extract-plugin
* Update webpack.prod.js
* Update webpack.prod.js
* 15
* Update config.yml
* Updated config.yml
* Updated config.yml
* Updated config.yml
* Update package.json
* comment and EOF
Co-authored-by: Joe Pea <joe.pea@nasa.gov>
Co-authored-by: Joe Pea <trusktr@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Enable independent time conductor for stacked plot and overlay plot.
* Lint fixes
* Fixes for #4503 and #4606
- Added `flex: 0 0 auto` to toggle switch when in ITC to prevent
element from being crunched when window or frame is very small;
* Add independent time conductor to bar graphs
* Add timeContext to bar graphs
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
* Show condition set label for condition widgets
* CSS changes
* Ensure condition set output as labels also works when condition widget is part of a display layout
* Adds tests for conditionWidget
* Tests for condition label output. Fix breaking tests.
* Don't remove event listeners when conditionset changes
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
* Run full regression suite on PR
* rename job
* specify new testsuites to run
* use newer objects types
* Limit concurrency to 2 workers
* CI!
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: John Hill <jchill2.spam@gmail.com>
* Updated objectAPI to support root priority
* Updated to new ES6 module for root registry and updated docs for new priority API and root object priority
* Set "My Items" to default priority of low, for root object order
Co-authored-by: Andrew Henry <akhenry@gmail.com>
- New `c-object-view` class;
- Removed CSS class special-casing in ObjectView.vue;
- Removed unused `l-shell__main-object-view` class;
- Fixed CSS selector for Condition Widget display in main view;
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
* Make legacy support optional
* Fix order of legacy plugin registration
* Added 'supportComposition' function
* Add composition policy to check that parent supports composition
* Fix memory leaks in timer
* Use a fixed version number for vue-loader to avoid a webpack build issue in some system configurations
* Ask dependabot to keep an eye out for vue-loader updates
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* Release 1.8.2
* Trasactions tests are ids equal fix 1.8.2 (#4593)
* test fix
* return promise on 'onSave'
* "Export as JSON" yielding corrupted data #4577 (#4585)
https://github.com/nasa/openmct/issues/4577
* Fix date picker default time setting (#4581)
Fix mode dropdown position
Fix unlistening of upstream events
* Bar graph composition policy fix to allow condition set creation. (#4598)
* Use image timestamp instead of image index to show large view (#4591)
* Use image timestamp instead of image index to show large view
* Fix failing test
Co-authored-by: Nikhil <nikhil.k.mandlik@nasa.gov>
* Reimplementation of Local Storage provider
* Added tests
* Remove identifierService mocks from all test specs
* Do not persist identifiers in couch
* Constant rename
* Fix broken test
* Clean up mock window functions
* Updated copyright notice
* Fixed bug in in-memory search indexer
* Remove legacy bundles
* Replace legacy format management with vanilla JS
* Redefine legacy formats in plugins instead of bundles
* Remove 'draft' from API documentation
* Remove focus from test spec
* Register local time system using new API
* Fixed broken custom formatter test spec
* Make capitalization consistent
* Rewrite test for terse formatting for time conductor
* Make dependency on UTCTimeFormat explicit
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* Remove type service from the DefaultMetadataProvider
* Added tests
* Move unknown types to new type registry
* Migrate legacy type telemetry information to new types to obviate need to use type service from new API
* Remove default object, it's not needed any more
* Remove injector from spec
* Transaction fix (#4421) (#4461)
* When transaction is active, objects.get should search in dirty object first.
* Bugfix/create tree node (#4472)
* Transaction fix (#4421)
* When transaction is active, objects.get should search in dirty object first.
* find insert location prior to adding item to tree
* no need to resort
* add item should only add to direct descendants
* remove unused function
* copy composition before sorting
* remove unused var
* remove master pollution
* Revert "remove master pollution"
* add item to correct location
* Changed descending to ascending in sort order method (#4480)
* adding RAF to display layout alphanumerics (#4486)
* [Tabs] Sizing of offscreen tabs causing issues (#4444)
* [LAD Tables] Use RAF for updating template (#4500)
* Fixes LAD rows for string telemetry (#4508)
* Fixes LAD rows for string telemetry
* saving the object if it was missing (#4471)
* 4328 - Maintain reference to a focusedImage if the bounds change (#4545)
* WIP: adding assertions to catch negative index state
* just testing the flow
* SUpdate the image history index to previous selected image
* Cleaning up spacing and log statements
* Converted focusedImageIndex assignment to ternary and general cleanup
* imported objects are not persisting (#4477)
* imported objects are not persisting #4470
* disabled karma spec reporter suppressErrorSummary
* update version number
* Delete importFromJsonAction directory since it was empty
* Use bare bones search worker using native Worker
* Remove worker service
* remove unused workers pulled into search bundle
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* added persistance check to edit properties action
* adding persistence check in browse bar as well as reverting passing in openmct in bundle and now passing it in through appliesTo method
* adding other actions that need to be persistable
* adding persistance check to set primary location action
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* 4390 - [UTCTimeFormat] Convert to ES6 Plugin
* Added test for the plugin
* change the key propery name from ISO_KEY to UTC_KEY
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
* 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
* Add canView logic for telemtry and compositon
* AUse PriorityAPI to set high priority for LADTable views
* Changed high to constant case
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
* 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
* npm-prerelease.yml
Workflow to automatically publish an npmjs package when a Github pre-release is created
* Changes to name and jobs
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* First example of playwright
* Move config
* set junit output
* fix config and update version
* staged changes
* new files
* update to remote dir
* remove remote
* smoke
* Update smoke.spec.js
* Add eslint for playwright
* Add dependabot rule for playwright
* Add adhoc GHA for playwright
* Update tests and fix eslint
* move playwright eslint config to e2e dir
* Add to circle config
* store artifacts
* wrong location for storing artifacts
* slash?
* build before start
* increase timeouts in circle
* remove duplicate build step
* timeout values
* add retries
* reduce retries
* add percy emblem
* added percy
* Adds GHA for adhoc trigger and baseline visual
* Bump and Rev dependabot separte from karma
* update e2e label for additional pr logic
* Ignore playwright changes for codeql
* Update documentation
* Add ability to run all tests on pr label
* eof
* yamlamlaml
* issue instead of pull api
* archive results and include a link in the PR comment
* log context and attempt string concat
* concat fix
* add success/failure options
* add alure reporting
* lock playwright image
Co-authored-by: unlikelyzero <jchill2@gmail.com>
* Add plan state indicators
* Changes to simplify timeline view
* Styling for draft plans
* Adds status to Plan.vue
* Adds tests
* Mods for #4309
- New font and icomoon JSON file - when merging, please override with this version if any conflicts!
- New glyph and bg-icon svg style for plan;
- Updated glyph and bg-icon svg style for timestrip;
- Modified visual approach, glyph, color for `is-status--draft`;
- Updated icon usage for Plan views;
- Updated description for Plan and Timestrip views;
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>
* Create SECURITY.md
* Remove unused template
* Add security template to our issue chooser
* Add new issue type for maintenance
* eslint changes
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Re-implemented timer and clock and installed as a plugin
* Clock indicator is installed as configuration to clock plugin
* Uses moment
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Nikhil <nikhil.k.mandlik@nasa.gov>
* removed legacy my items, created my items plugin, moved relevant code to new plugin
* added object api method for checking if a domainObject is a missing object
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Sort MyItems alphabetically when building the tree
* Fixed brace indentation
* Modified tree-item to accept is-new prop for initial highlighting
* Adjusted sort function and properly sort children before splicing treetItems
* Mods for #1717
- Refined color and timing, color is now theme-compliant;
- Added new theme color constants;
- Smoke tested in Espresso and Snow themes;
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
* 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
* added rough first draft on installing and configuring couchdb
* second draft of couchdb manual
* made explict the roles to delete
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Implement transactions in Object API and retire legacy transactions #4089
* Added `objectAPI.refresh`
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Added some extra test for the new implementation of Time Conductor History on PR 4287
* Refractor on testing and Time Conductor
* Update duration.js
Refractor on getPreciseDuration()
* 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>
* Fix#3981
- Mods to markup and CSS for better approach to overflowing and min-heights;
- WIP!
* Fix#3981
- Refinements to min-height approach;
- CSS cleanups;
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
- HTML/CSS mods to remove button holding element that was blocking clicks,
instead position buttons independently;
- Disabled style now handled better in `show-on-hover` class;
- Removed overly-specific size and positioning defs from cArrowButtonBase mixin;
* added processor generator to request options in the telemetry API. Allows progressive yielding of request results.
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* 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>
It's still not clear which jobs pass/fail on tests. This change will update the name of the job which is run to be more explicit that it only pass/fails on the build step
* 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>
* 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>
* Update all unit test packages, set node engine rules, new circleci workflow
Co-authored-by: unlikelyzero <jchill2@gmail.com>
Co-authored-by: Andrew Henry <akhenry@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>
* 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>
* 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>
* Updates to the sprint cycle and end of sprint release process
* Adds reviewer checklist item for labelling an issue as a bug
* Update Cycle doc with test process changes.
* Update static.md references, add Issue templates
* Updated criticality definition
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: John Hill <jchill2.spam@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* 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>
* "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>
* 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
* WIP
* Reverting some files
* reverting
* using type from model, instead of passing in separately
* reverting to remove query lite from search aggregator, as it is no longer necessary
* removing erroneous properties from legacy search results
* removed unnecessary parameters for type since it is included in the model and we have acces too that
* missed one
* removed empty space
* removed unneccessary code
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* 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>
- 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;
* Prevent copy and move actions for non creatable objects
* Remove unneeded code
* Remove prototype typo
* Allow duplicating an object only if it is creatable
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* 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>
* Unable to edit Notebooks (Firefox) #3534
Unable to take a snapshot - snapshot dropdown not working #3533
* Navigating to a Notebook snapshot not working #3538
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>
- 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>
* Ensure that overlap checking only looks at activities within it's own group. This is done by assuming that any rows less than a group's starting row belong to another group.
Observe for changes to a plan and update the plan view accordingly.
* Address review comments
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* 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>
* Notebook fixes for NT10 'click-to-edit entry'
- Hovering over entries now displays a subtle background change, and
only displays the 'inline input' look when clicked into;
- Changed default styling and behavior to not apply default text
content: new entries now start with a blank entry, and do not include
'placeholder' formatting;
- Refactored styles associated with `c-input-inline`, `c-ne__input` and
`reactive-input` mixin;
- New mixin `inlineInput`;
- Removed unused CSS classes, general cleanups;
* fixed defaultText as blank issue and some cleanup
* Update _mixins.scss
- Remove commented code;
Co-authored-by: Nikhil Mandlik <nikhil.k.mandlik@nasa.gov>
* [Tables] Object names should appear in tables #3312
* updated tests to include name header.
* fixed lint issue.
* Removed Name from data.
* renamed 'addColunmName' to 'addNameColumn'.
Co-authored-by: Andrew Henry <akhenry@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
* styles for Subobjects that can't be persisted should be saved on the container/layout
* Add tests for suboject styles that should be saved on the display layout
* [Notebook] new notebook entry causes console error #3440
* using 'makeKeyString' to compare notebook identifiers
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* 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>
* Strip mct namespace from ids when getting models from cache
* Revert PersistenceCapability to use legacy code
Enforce empty namespace for LegacyPersistenceAdapter for new object providers
* Reverts change to caching provider
* CouchObject provider is registered with the mct space.
When saving objects via the persistence capability use the mct space to find the couchdb object provider
* 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>
* Update persistence capability to use object api get
* Getting objects using the legacy object service provider will use the defaultSpace if necessary
* Sends new style object to the object API for save when calling it from legacy persistence adapter
* Adds createObject and deleteObject methods to LegacyPersistenceAdapter
* Fixes#3383 - Tree scrolling area should not display horizontal scroll.
* Includes various additional improvements to the object tree.
Co-authored-by: Jamie Vigliotta <jamie.j.vigliotta@nasa.gov>
* fix linting errors
* removing testing units
* WIP: stubbe in age in template, adding getAge function
* WIP: stubbed in age in template, dummy function to start
* added image age for realtime mode, ready for styling
* reverting unnecesarry telemetryview file changes, not needed for this issue
* checking for age tracking conditions on mount
* Image age styling and changes
- Cleaned up code in ImageryPlugin to use const instead of var, changed
image delay time into a const
* Image age styling and changes
- WIP!
- Layout changes for Imagery control-bar;
- New animation effect, WIP;
* Image age styling and changes
- Markup and CSS updates for Imagery view;
- Final layout for age indicator;
* parsing image timestamp in case it is a string
* using moment for human readable durations above 8 hours
* UTC based timesystem check
* reset "new" css class on image age when "time" updates
* WIP: debuggin weird imagery plugin issue for first selection of image in thumbnails
* fixing pause overwriting clicked images selection
* making isImageNew a computed value
* WIP: pr updates
* WIP: tabling PR edits to focus on lower hanging PR edits for testathon
* WIP
* overhaul of imagery plugin logic for optimization PLUS imagery age
* adding next/prev functionality to refactored plugin
* added arrow left and right keys to navigate next and previous
* added arrow key scrolling and scrolling thumbnail into view and hold down scrolling
* adding in missing class
* component based key listening, PR updates
* refactor to use just imageIndex to track focused image, utilized more caching, PR comment edits
Co-authored-by: David Tsay <david.e.tsay@nasa.gov>
Co-authored-by: charlesh88 <charlesh88@gmail.com>
* Fixes#3268
- Moved `pointer-events: none` to apply to proper element in table and
qualified selector to only apply when the table is within a layout
frame;
* Tabs View mods, fixes#3265
- Restored missing `c-object-label` markup to display type icon;
- Removed unused code;
- Refined alignment in `c-object-label` CSS;
* Fix mistakenly left port change
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
* (WIP) Adds Plan view and visualization of activities on different rows
* Updates to show activities in the right rows
* Improve algorithm to get activityRow for next activity
* When activities have names that are longer than their width, show the name outside the activity rectangle
* Remove Activity component as we don't need it right now
* Use canvas to draw activities instead of svg for performance
* Retain SVG version if needed
* Include text when calculating overlap
* Fix padding, text positioning
* Add colors for activities
* Fixed bug - Rectangle was shrinking as time passed
Draw using SVG
* Adds performance activities
* [WIP] Refactoring code to be more readable
* Fix issues with activity layout
* Adds draft for groups
* Adds x-offset for groups
* Draw a "now" marker for the canvas
* Fix formatting for the timeline
* Adds now line for the timeline
* Add ability to upload a plan json file.
* Add tests for the Plan view
* Fix issue with File Type checking
add resizing for timeline view plans
* Refactor code to be more readable
* Fix tests that are failing on circleCI
* Fix icon for timeline view
* update generic search compostion load to new version for testing
* logging
* removing logging adding check for undefined child
* reverting genericsearchprovider
* testing using object service instead of modelservice for search
* modified the animations for sliding children in and out to be more reliable, pr updates
* removing unneccessary code
* added location observers for ancetors in nav tree to handle ancestor deletions
* tracking current ancestors and handling deletions
* minor method name change on call
* removed redundant code
* check for two arguments to catch cases where key and namespace are sent in separately
* method will always receive two arguments, updated to reflect that
* removing object utils, no longer used
* Defers legacy mutation of object till after a creation happens.
* Fixes display layout to defer actions until objects.save returns
* Revert back to localStorage... big oops!
* added padding for loading indicator, updated no items logic and is loading logic, adding checks for loading to prevent navigation during loading
* updating style name that is used in more than one way
* moving indicator offset style to computed value
* lint fix
* allow change of x-axis metadata in single plots
* only enable x key toggle when appropriate
* prevent x-axis toggle if data does not exist for new x-axis key
* reset x-axis selection on bounds change
* no showing "no items" if still loading
* added additional no items variable to handle dictionary composition loading race conditions
* code cleanup
* more descript variable name
* WIP: testing backwards compatibility checks
* added new localstorage key for expanded tree node, delete old one if detected
* removing obsolete backwords compatibility code
* fixed going up the tree items not showing, going down the tree "ghost" image showing
* removing console log
* removed duplicate functionality
* revised new tree refactor, moved most of the logic to mct-tree instead of tree-item
* scrollTo set for sync, bug fixes, window resize handling
* removing console logs
* checking domainobject composition for length to verify children instead of composition object itself
* added scrollTo on load if in viewed objects directory
* loading, sync bug, search issues, opitmization
* initial PR review updates
* modified so search now uses the same container and virtual scroll
* eslint fix
* Adding new glyphs
- Multiple new glyphs cherrypicked from branch `add-new-glyphs-062320`;
* Styling for new-tree-refactor WIP
- WIP!
- New glyphs, markup changes in BrowseBar.vue;
- Refinements to tree items, WIP;
- TODO: move hard-coded CSS values into _constants, make
theme-compatible;
* Styling for new-tree-refactor WIP
- WIP!
- Added new `c-click-link` CSS class;
- Move tree sync button into tree pane area;
- Added named "controls" slot to pane.vue;
- _up and _down arrows now use visibility instead of opacity to prevent
accidental clicks;
* Styling for new-tree-refactor WIP
- WIP!
- Significant mods and simplification in pane.vue and assoc CSS for
expand/collapse functionality;
- Wait spinner when in tree: cleanups, simplification;
* More new glyphs, updated art
- New glyphs: icon-unlocked and icon-target;
- Updated art for icon-lock glyph;
* remove arrows for search results, hightlight "my items" correctly, added empty folder notic
* Styling for new-tree-refactor WIP
- WIP!
- Refinements to "empty" object element;
- Changed sync-tree icon glyph;
* Styling for new-tree-refactor WIP
- Nav up arrows now left-align properly;
* Styling for new-tree-refactor
- Significant consolidation and cleanups in mct-tree.scss;
- Normalize base and hover styles across new tree, legacy tree,
list-items (used in Notebook) and Folder List View;
- Class naming normalization, change `c-list-item__name-value` to
`c-list-item__name`;
- Add styling to override and remove `<a> outline: dotted` coming from
normalize-min;
- Removed too-broad `<a>` coloring in tables;
* Styling for new-tree-refactor
- Fix styles for Snow theme;
- Sync Maelstrom and Espresso themes;
- Remove too-broad `<a>` hover styling from global.scss;
- Disallow pointer-events on `is-navigated` object's label (click on
c-nav__down element still allowed);
* Styling for new-tree-refactor
- Normalizing status area expand/collapse iconography to match new
approach in panes;
* Adding new glyphs
- Added `icon-items-collapse` and `icon-items-expand`;
* Styling for new-tree-refactor
- Using new glyphs for items expand/collapse in Status area;
* dynamic item height for desktop and mobile views
* lint fixes
* updated addChild and removeChild functions as they were not working at all
* some PR comment updates!;
* Remove unneeded hard-coded CSS color property
* fixed issues when multiple root children exist, added plugin to change the name of the default root object
* removing "my other items" testing references
* linting fixes
* updating karma timeouts for testing purposes
* eslint fixes
* WIP: fixing linting issues
* updating for testing
* set root object provider to update root registry if called more than once
* tweaking tests so that it passes both locally and on the serve tests
* removing old css code preventing context clicks on active menu items
* fixing testing errors
* backwards compatible storage fix
Co-authored-by: charlesh88 <charlesh88@gmail.com>
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* Fixes for NIRVSS UI spectral plot view
- Fixes Y axis 2 vertical line color in spectral plot;
* Fixes for NIRVSS UI spectral plot view
- Fixes Y axis 2 vertical line color in spectral plot;
- Tweaks to themed plot hash line colors;
- Fixed Plotly axis label title font sizing;
- Fixed Plotly axis vertical line color;
- Removed styling that caused `c-button` within
`h-local-controls--overlay-content` to be background on background
color;
* Stop evaluation of conditions when one evaluates to true
* Fix broken test
* Fixes broken tests
* Addresses review comments - Rename getResult to updateResult
* Rename condition getResult to updateResult
* Renames condition getResult to updateResult
* 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%
* Display layout plugin test coverage to 20% or more
Resolves#3157
* Changes address original issue? Yes
* Unit tests included and/or updated with changes? Yes
* Command line build passes? Yes
* Changes have been smoke-tested? Yes
* Testing instructions included? Yes
* Add disable-dev-shm-usage flag to ChromeHeadless launcher config in karma
* Adding disable dev shm usage flag to chromeheadless launcher and setting log level to debug
* Adding np activity timeout to 60000
* Adding no-sandbox flag for headless chrome
* Run tests without headless chrome to see if that fixes the fonts issue
* Fix typo
* Trying chrome headless with increased memory
* Reset karma.conf back to master
* Trying karma chrome launcher 3.1.0
* Revert to master code for package.json and karma.conf.js
* Trying node 12 browsers
* Revert back to node:13 browsers
* Revert to 10.2.1-browsers circle ci node browsers variant image for docker
* Rebuild node-sass for node 10.x
* Upgrading to 13.14.0 node
* Remove node options
* Don't restore cache before npm install
* Comment out tests with setTimeout
* Trying node 8-browsers
* Try firefox headless
* Firefox version typo
* Revert focused tests
* Exclude setTimeout tests
* Increase browser connectivity timeout
* Trying large timeout with Chromeheadless
* Going back to Firefox and setting browser timeout to 1.5 mins
* Fixes linting issues
* Fix broken tests and add some null checks in the code
* Change double quotes to single quotes
* added unit columns in telemetry tables
* added unit column hiding in telemetry tables, added units to lad tables and sets
* added units to plots and plot legends
* 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>
* [Snapshots] Are holding on to outdated domainObjects when clicking on preview #3078
* #3250 : [Preview] Preview window should not have any context menu actions
* cleanup: removed redundant code
- Fixed incorrect CSS naming: `c-frame-edit__move` changed to
`c-frame__move-bar`;
- Fixed `display: contents` that was erroneously applied to
`u-angular-object-view-wrapper` and preventing styling from being
applied to plots, renamed class to `.l-angular-ov-wrapper`;
- Removed commented CSS;
* add ability to remove tabs from tabs view interface (#3147)
* an "X" on each tab is visible in edit mode
* replaced custom removeDialog with openmct.overlays.dialog
* Minor mods to markup and CSS
- Changed tab from button to div to allow a cleaner approach to the
nested close button;
- Changed close "icon-x" span to a button and added `c-click-icon` style
tag;
- Tweaked class naming to simplify and align with a more functional/
descriptive approach;
* use ES6 arrow func to avoid self=this
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
Co-authored-by: charlesh88 <charlesh88@gmail.com>
- Added min-width and min-height to Display Layout lines to allow
easier selection and move when line is purely vertical or horizontal;
- Fixed spacing, size and icon of overlay close button;
* UI enhancements for #3176
- Large overlay now displays fullscreen;
* UI enhancements for #3176
- Adding new ".is-in-small-container" CSS - VERY WIP!
- TODO: fix table implementation;
* UI fixes for NIRVSS client #170
- Hide table header filter inputs when table is in small container;
* UI fixes for NIRVSS client #170
- Fixing legends and plot layout when small, and within a stacked plot;
- Add new `hideLegendWhenSmall` property;
- Remove 'hidden' from plot legend position options;
- Reduced opacity of tabular headers in Espresso theme;
- VERY, VERY WIP right now!
* UI fixes for NIRVSS client #170
- Fixing legends and plot layout when small, and within a stacked plot;
- Cleanups, indention, removed commented CSS;
- Tightened up spacing in plot Y axis;
* UI enhancements for #3176
- Move local controls for plots and imagery, prevent overlapping with
view large button when in a hidden frame in a layout;
- Finesse local control styling for increased legibility;
- Move l-state-indicators to avoid overlap with repositioned local
controls, finesse styling;
* UI enhancements for #3176
- Tweak large overlay close button for better visual alignment;
* UI enhancements for #3176
- Significant improvements to lines in Display Layouts;
- Increased border-width for lines and boxes;
- Code enhanced for proper handling of horizontal and
vertical lines - but still isn't working properly;
- Renamed box-view.scss to box-and-line-views.scss;
- VERY WIP!
* Fixed incorrect grid array reference
* UI enhancements for #3176
- Fixed final issue with Display Layout line drawing object, thank you
@deeptailor!;
* UI enhancements for #3176
- Contrast enhancements and markup normalization for `c-object-label`
elements in main view, Layout frames, Inspector and overlay;
- Enhanced `l-overlay-large` layout;
- Tightened up margins and spacing in plots;
- Refined `is-paused` styling in Telemetry Tables;
- Now hide Telemetry Tables 'Export Data' button if rows are selected,
which use a separate export button;
- Layout frames now hide button's text labels when small;
- Layout frames spacing tightened up and improved;
* UI enhancements for #3176
- Tweak Snow theme constants;
* UI enhancements for #3176
- Fixed ObjectFrame getOverlayElement method, added a wrapper div
around the viewed object to properly control resulting layout in the
overlay;
- Simplified preview CSS to remove background, border and padding;
- Layout tweaks to add space between scrollbar and thumbs in Imagery
view;
- Removed dev "-info" element in LineView.vue;
* UI enhancements for #3176
- Improved styling for 'edit lock' button;
* UI enhancements for #3176
- Show Display Layout frame "-move" bar on hover, rather than select, to
make it easier to select items with hidden frames, and only show -move
bar's drag grippy when that frame is selected;
- `pointer-events: none` applied to table's body and plot's plot areas
when placed in a Layout and being edited, prevents distracting
interactions (plot zoom/pan, table row selection) when selecting and
moving elements in a Layout;
- Refined hover styles for c-button to use $filterHov, simplified and
normalized hover styling;
- Converted a number of old `<a>` tags to `<buttons>` to normalize
styling and use the appropriate control;
- Edit lock button is now colored when locked;
* Fix linting issue
* Minor tweaks
- Tweaked control positioning;
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
### Reviewer Checklist
1. Changes appear to address issue? Y
2. Appropriate unit tests included? Y
3. Code style and in-line documentation are appropriate? Y
4. Commit messages meet standards? Y
5. Has associated issue been labelled `unverified`? (only applicable if this PR closes the issue) Y
* Implement 'save' method in Object API
* Refactor legacy persistence code to work with new save object API
* Added 'isPersistable' check to object API
* Fixed incompatibility between object API changes and composition policies
* Make save method private
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* Don't allow editor edit if object is locked
* Adds log statement
* Use capture phase for onDragOver
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
- Fix Inspector `__content` to properly use flex column layout;
- Change `u-angular-object-view-wrapper` to `display: contents`;
- Fix `gl-plot` to properly use `flex: 1 1 auto` instead of width and
height;
* check for alt key pressed on mouse events
* allows for release of alt key during drag
* eliminates non-browser event states like alt-tab switching apps in windows
* do not listen to plot mouse events on browser context (ctrl) click
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* Missing objects styling WIP
- Grabbing prior work from `missing-items` branch;
* Missing objects styling WIP
- Grabbing prior work on hover and missing theme constants from
`missing-items` branch;
- Refined theme constants values;
- Renamed relevant mixins and classes from "isUnknown" to "isMissing";
- Applied new hover and missing/unknown styling to Folder-view grid
items;
* Missing objects styling WIP
- Significant refinements and additions to `is-missing`;
- Normalize object type icons as a markup `*__type-icon` to support
styling and positioning of `is-missing__indicator` as a markup element;
- Application to tree items, l-browse-bar in main view, c-object-label,
grid view;
- Change hover approach in grid-items and tree to use filters;
* Missing objects styling WIP
- Styles added to object-name component in Inspector, markup simplified;
- Styles added to Tabs view;
* Missing objects styling WIP
- Simplified and consolidated `is-missing` approach into
`.c-object-label` class;
- Modded `.c-object-label` class to use flex 1 1 auto, instead of 0 1
auto - be on the outlook for regression problems!;
- TODO: wire up `is-missing` for real and Folder List view;
* Missing objects styling WIP
- Added `is-missing` styling to Folder list view;
- Cleanups, simplification and normalization with tree items in
list-item and list-view.scss;
- Using `c-object-label` now in Folder list view;
- Removed too-broad `<a>` color definition in table.scss;
* Missing objects styling WIP
- `is-missing` added to layout frames, with support for hidden
frames and telemetry views.
- Further styles enhancement;
- Continued added wiring points into markup;
* Missing objects styling WIP
- `is-missing` added to mct-plot;
- Significant improvements for cursor lock indicators in plots;
* Missing objects styling WIP
- Plot legend fixes, added overflow scrolling for collapsed and expanded
legends;
- Removed conmmented code;
* Wire up 'is-missing'
- Added property checks on domainObject for status 'missing';
* Fix linting issues
* remove carat from eslint package
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* lineWidth is not supported in modern browsers
* allow marker shape selection in plot inspector
add shapes for canvas2d - point, cross, star
* change line style to line method in anticipation of adding true line style attribute
* add canvas2d circle marker shape
* allow point shapes for webGL plots
add circle shape
* refactor for clarity
* refactor shape to shape code
* add missing semi-colon
* helper function for marker options display in inspector
refactor for clarity
* access correct file
* add diamond marker shape
* add triangle shape to canvas
* add webgl draw triangle marker shape
* refactor fragment shader for clarity
* 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>
* working lock and unlock
* prevent flexible layout drop hints from showing
* fix lint issue
* wip
* disable mousedown when not editing in DisplayLayout
* continued wip
* Cherrypick new glyphs from add-new-glyphs-062320
* More new glyphs, updated art
- New glyphs: icon-unlocked and icon-target;
- Updated art for icon-lock glyph;
* Edit toggle refinements WIP
- Markup, CSS in BrowseBar.vue;
* More new glyphs, updated art
- New glyphs: icon-unlocked and icon-target;
- Updated art for icon-lock glyph;
* Edit toggle refinements
- Replaced toggle switch with button;
* prevent styling changes when locked
* fix lint issues
* fix tests
* make reviewer suggested changes
Co-authored-by: charlesh88 <charlesh88@gmail.com>
* added LAD Table composition policy, with a check for lad table sets, child can only be lad table
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
[Example Imagery] Console error on pause when start and end date is in future #3103
* added some checks for no image
* some code style updates and removing a nested if statement
Co-authored-by: Nikhil <nikhil.k.mandlik@nasa.gov>
* Update testing plan document with description of testathon process
* Add instructions on unverified issues + link to instructions on pull requests.
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
Co-authored-by: Shefali 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>
Conditional Styles for multiple items #3076
* Preview condition styles on selecting that condition or one of it's styles
Do not evaluate conditional styles in edit mode
* Conditions styling tweaked
- Condition match `is-current` styling for browse and edit modes;
- Disallowed pointer events on Conditions to prevent selection in
Inspector when not editing;
* Highlight current condition in conditionSet view
* Addresses review comments.
* Condition matching highlighting tweaked
- Enable match highlighting during Editing;
- Tweaks to `is-current` styling;
* Don't reset the callback on destroy
* Combine multiple and single selection styling of objects
* Fix issue with applying styles in edit mode
* Fix item styles bug
* Remove comment
* Adds back visibility toggle
* Set isEditing on initialization.
* Addresses review comments - removes use of lodash.
Co-authored-by: charlesh88 <charlesh88@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>
* prevent plots from breaking when more than one NaN is received.
* fix y axis label issue
* dont emit a viewport change event when marquee doesnt happen
* 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>
* Resolves issue #30307
Don't compute the result of a condition if telemetry datum is not being used by that condition
* Adds tests for condition results
* lazy load tabs
* remove listener on destroy
* fix lint error
* Store current tab position on domainObject
* remove lodash dependency and use keystring
* [Notebook] Save snapshot dropdown should be available from "view large" overlay #2922\
* Significant improvements to Snapshot styling
* [Notebook] Embed links aren't navigating #2979
Co-authored-by: charlesh88 <charlesh88@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Preview condition styles on selecting that condition or one of it's styles
* Do not evaluate conditional styles in edit mode
Co-authored-by: charlesh88 <charlesh88@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* change single output to state and value
* do not send telemetryObjects to telemetry api request cal
* normalize data on requests
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* use correct id for telemetry requests
* request and subscription data cache should be mutually exclusive
use latest timestamp for any/all requests
* do not add prop to datum
remove unnecessary if check
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* successfully upgraded to v1.6 with $compileProvider.preAssignBindingsEnabled(true)
* removed $compileProvider.preAssignBindingsEnabled(true), wrapped constructors for plot and chart inside onInit function
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Ensures that results for a specific datapoint are evaluated atomically.
* Removes timestamp based evalutation from conditionManager
* Remove unused code
* remove generating timestamp for telemetry data
* get results directly instead of using events
* remove unused listeners, events, and helpers
* linting
* remove commented code
* telemetry criterion stores its own result
* refactor all/any telemetry criterion to use new evaluator
* tie in requests and eliminate unused code
* use current timesystem to compare latest
* scope function names
* AllTelemetryCriterion extends TelemetryCriterion
* fix telemetrycriterion and unit testing
* fix unit tests
* check if telemetry is used at condition manager level
* move check to condition manager
* remove whitespace
Co-authored-by: Joshi <simplyrender@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Ensures that results for a specific datapoint are evaluated atomically.
* Remove generating timestamp for telemetry data
* Get results directly instead of using events
* Refactor all/any telemetry criterion to use new evaluator
* Use current timesystem to compare latest
* AllTelemetryCriterion extends TelemetryCriterion
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>
* Show non specific styles when updating multiple item styles
* Save sub object styles to it's domain object
* Layout UI tweak
* Fixes flexible layout bug.
* Fixes font size bug in telemetry view
* Fixes issues with newly places TVOs including transparent properties.
* Fixes#2908
* Say NO to 'transparent' === '__no_value'
- Fixes#2895;
* Ensure styles are correctly applied to domain objects and drawing objects when selected individually
* Ensure none treatment is correctly applied to objects when multple selecting
* Fix intial box border
* Tweaks to c-text-view layout
- Vertically center text;
- Normalize padding;
- Overflow: hidden;
* Tweaks to Clock and Timer layout
- Fixes#2893;
- Vertically center text;
- Normalize padding;
- Overflow: hidden;
- `position: absolute` when in Layout;
Co-authored-by: charlesh88 <charlesh88@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* wip: changing to condition as drag target
* wip
* wip
* wip
* fixed dragging issues
* fixed dragging classes and added temp border on condition with dragging class
* Conditionals sanding and shimming
- CSS and `all-dragging`;
* wip
* fixed drag end issue and changed dragging class to go on parent condition h
* drag with counter
* wip
* wip
* wip
* return to logic in ConditionCollection.vue
* wip
* completed js part with highlighted c-condition-h on dragover
* restored grippy as draggable elem, improved isValidTarget
* fixed drag text bug
* added moveIndex prop in Condition.vue
* Conditionals drag reorder styling
- Moved `.is-drag-target` class up to conditions-h element;
- Renamed `.all-dragging` to `is-active-dragging`;
- Styling for `__drop-target` elements;
* fixed incorrect default for moveIndex in condition collection, unnecessary reset in condition
* fixed downward move reorder
* removed prevent from dragenter and drag leave, changed @blur to @change for name and output fields
* removed console log
* Repair merge-damaged conditionals.scss
- Manual merge from latest master;
* Test data layout tweaked
- Prevent c-cs__test-data__controls from collapsing;
Co-authored-by: Joel McKinnon <joel.g.mckinnon@nasa.gov>
Co-authored-by: Joel McKinnon <JoelMcKinnon@users.noreply.github.com>
* wip: changing to condition as drag target
* wip
* wip
* wip
* fixed dragging issues
* fixed dragging classes and added temp border on condition with dragging class
* Conditionals sanding and shimming
- CSS and `all-dragging`;
* wip
* fixed drag end issue and changed dragging class to go on parent condition h
* drag with counter
* wip
* wip
* wip
* return to logic in ConditionCollection.vue
* wip
* completed js part with highlighted c-condition-h on dragover
* restored grippy as draggable elem, improved isValidTarget
* fixed drag text bug
* added moveIndex prop in Condition.vue
* Conditionals drag reorder styling
- Moved `.is-drag-target` class up to conditions-h element;
- Renamed `.all-dragging` to `is-active-dragging`;
- Styling for `__drop-target` elements;
* fixed incorrect default for moveIndex in condition collection, unnecessary reset in condition
* fixed downward move reorder
* removed prevent from dragenter and drag leave, changed @blur to @change for name and output fields
* removed console log
Co-authored-by: charlesh88 <charlesh88@gmail.com>
- Significant fixes for Safari-compatible Flex layout in Condition Set
view;
- Changed visual approach to current-value section;
- Firefox scrollbar coloring
- Fix layout issues in Firefox;
- Consolidate Conditionals styles into single scss file;
- Fix test datum elements layout, better wrapping;
- Better approach to presence/absence of URL property in Condition
Widget;
- Fixes#2853;
- Fix errors in URL property handling in Condition Widget;
- Fixes#2853;
- Fixes#2867 - hide the View Switcher when an object is being edited;
- Refined titling on View Switcher and Notebook menu button;
- Cleaned up styles in l-browse-bar and moved into
ui/layout/layout.scss;
- Removed styles/_layout.scss;
- Hide the main view Edit button when in mobile
- Restore updated symbols font file for Condition Widget icon glyph;
- Change "All telemetry | Any telemetry" to all lowercase;
- Fix cursor styles for Condition Widget;
- Fix Safari layout problems with Condition Set/section styles;
* Test Data
* Persist testData and apply it to the conditionSet
* Do not persist the applied flag, but persist test data
Co-authored-by: charlesh88 <charlesh88@gmail.com>
* Use parsed telemetry data values for condition evaluations
* Addresses comments - handles undefined value and implements format and validate formatter methods
* Merge topic-conditionals
- Fixes#2772;
- Remove styling toolbar icons in Display Layouts;
- Fix regression error in tree items that was only allowing clicks on
the name to navigate;
- Legacy wrapper fixes to allow color styling to be applied as expected;
- New `$mainViewPad` constant;
- Fix `c-control-bar` element spacing in plots;
- TODO: check for regressions, particularly with plot views;
- Fixes#2772: better `is-style-invisible` css for `c-style-thumbs`;
* Hardcoded prototype - conditional styles for display layout or generator domain objects only.
Needs Architectural review
* Updates to ConditionalStylesView
* Adds background colors list
* Show conditional styles for subObjectViews and telemetryViews
* Uses telemetry provider to determine which style is active
Removes hardcoded conditionSet work used for prototype
* Fixes failing test
* Add default styles to conditionalStyles when a condition set is added to the domain object.
* Use EventEmitter alias instead of eventEmitter3 in imports
Change variable name for better readability and clarity
Remove unused code
* Change StyleRuleManager to accept conditionStyle objects instead of domainObjects
* Uses a map for conditional styles instead of a list in order to improve performance
* Use in-built api to check for identifier equality
Pass missing arguments
* Removes unnecessary object get call.
* Conditionals styling WIP
- Tweaks for layout/overflow issues;
- Better header alignment;
- Much better approach to "accordion" spacing;
* Adds conditional styles for drawing objects
* Fixes small bugs while adding or removing nested conditional styling
* Removes hard coded conditionSetIdentifier
* Fixes small conditionManager bug
* WIP - Adds condition set selection dialog
* WIP - Add condition set
* Styling for tree dialog in selector
- New `.c-selector` class;
- Markup added to tree-item.vue to fix missing `c-object-label` wrapper;
* Adds image url to styles inspector view
* Adds highlight for selected conditionSet in selection dialog.
* Conditionals Inspector styling WIP
- Simplified Inspector markup;
- Refined `.c-inspector` layout strategy;
- Refined `.l-multipane` classes for better layout and scroll handling;
- TODOs: styling for 'styles' section; unit test, find regressions, fix;
* Read-only mode changes for the styles inspector
* Adds basic styling for styles inspector view
* Removes unused code
* Displays condition set name
* Display description for conditions
* Conditionals Inspector styling WIP
- Add new ObjectName component to Inspector;
- Add supporting styles;
* Conditionals Inspector styling WIP
- Refactor for better usage of c-object-label;
- Refactor `c-properties` classes to `c-inspect-properties`;
* Conditionals Inspector styling WIP
- Introduce `c-inspect-styles` class;
- Markup refined in ConditionalStylesView.vue;
* Conditionals Inspector styling WIP
- Fix unintended regression in `c-object-label`;
* Makes inspector view tabs sticky.
Shows errors if either telemetry or conditions are missing
Refresh conditionStyles when styles inspector is loaded to show new conditions that might be added to the conditionSet
* Conditionals styling WIP
- Added title to Condition Set selector dialog;
* Conditionals styling WIP
- CSS and markup changes;
* Conditionals styling WIP
- Markup changes;
* Componentize conditional style editor, condition description and condition error
* Conditionals styling WIP
- Conditional styling elements in Inspector, significant refinements;
- Condition description formatting;
- Significant markup simplification in StyleEditor.vue;
- Moved `.c-inspect-styles` into conditional-styles.scss;
* Conditionals styling WIP
- Added menu positioning css;
* Conditionals styling WIP
- Display images in StyleEditor `c-style-thumb` element;
* Use the condition description component to show the condition description in condition set views
* Conditionals styling WIP
- New `u-alert` and `u-error` classes and mixin;
- New $colorError theme constants;
* Conditionals styling WIP
- Fixed background: cover or c-style-thumbs;
* Conditionals styling WIP
- Add navigate-or-preview functionality to attached Condition Set used
for conditional styling (thank you Deep!);
- Better theme-compliant box-shadowing on c-style-thumb;
- Added default color property to cClickIcon SCSS mixin;
* Fixes ConditionDescription and ConditionErrors views
* Allow static styles for domain Objects and display layout items
* Consolidate handling of 'none' style to the object styles mixin
* Adds visibility option to child items
* Conditionals styling WIP
- Add `is-style-invisible` class;
- Better color approach for table headers to support domain object
styling;
* Change visibility to isInvisible class
* Fixes visibility for object views and telemetry views
* Fixes selection of condition set from tree view
* Conditionals styling WIP
- Added new $glyph-icon-eye-disabled font symbol and related class;
- Modded glyphs used for visibility toggle button;
- Modded StyleEditor thumb preview to reflect visibility setting;
- Tweaked `is-style-invisible` opacity property;
- Code cleanup;
* Conditionals styling WIP
- Display disabled toolbar for Inspector styles in Browse mode;
- Better approach to 'is-style-invisible' `c-style-thumb` with new
bgCheckerboard mixin;
- Moved `$controlDisabledOpacity` into a theme constant;
- Refined spacing in Inspector grid;
* Fixes linting issues
* Fixes telemetry metadata name
* criterion descriptions is now an array of strings
* Fixes spacing
* Removes commented out code.
* Remove v-if
Co-authored-by: charlesh88 <charlesh88@gmail.com>
* Hardcoded prototype - conditional styles for display layout or generator domain objects only.
* Adds background colors list
* Show conditional styles for subObjectViews and telemetryViews
* Uses telemetry provider to determine which style is active
* Removes hardcoded conditionSet work used for prototype
* Add default styles to conditionalStyles when a condition set is added to the domain object.
* Use EventEmitter alias instead of eventEmitter3 in imports
* Change StyleRuleManager to accept conditionStyle objects instead of domainObjects
* Uses a map for conditional styles instead of a list in order to improve performance
* Use in-built api to check for identifier equality
* Removes unnecessary object get call.
* Adds conditional styles for drawing objects
* Removes hard coded conditionSetIdentifier
* Fixes small conditionManager bug
* Add a recalculate Column width button
* Tweaks to telemetry table for recalculateColumnWidths
- Recalc button now hidden if isAutosizeEnabled === false;
- Recalc button label, title edited for clarity;
- Normalized button titles for other table buttons;
- Fixed `.c-separator` height issue;
* toggle between expand and autosize
* Tweaked button title text
* remove nested loop
* fix lint errors
* remove unecessary promise and use clientWidth instead of offsetWidth
Co-authored-by: charlesh88 <charlesh88@gmail.com>
* Styling for Conditionals WIP
- Condition Set markup and styling WIP;
* Styling for Conditionals WIP
- Condition Set markup and styling WIP;
* Styling for Conditionals WIP
- Main layout and container styling refinement, simplification and
normalization;
* Styling for Conditionals WIP
- Begin styling for individual condition elements;
* Styling for Conditionals WIP
- Condition styling, very initial;
* Conditionals styling WIP
- Redo work done previously and lost due to merging;
- Overall layout in edit mode;
- Styling for hint element;
* Conditionals styling WIP
- Major progress on Conditionals edit-view styling;
- Grid layout WIP in condition element;
- Added new `.c-grippy` class;
* Conditionals styling WIP
- discreteItem theme constants refined, add
`$colorDiscreteItemCurrentBg` color value;
- `.c-grippy` enhanced;
- Condition layout significantly refined;
* Conditionals styling WIP
- Styling for browse view in Condition Set;
- Refined alignment and styles for condition header;
* Conditionals styling WIP
- Cleanups;
- Significant improvements to flex layout;
- Test Data layout and element formatting;
* Conditionals styling WIP
- Better approach to condition set hinting;
* Conditionals styling WIP
- Merge and integrate changes from Joel;
- 'Add Criteria' button now disabled until telemetry has been added;
- Fix JS configuration error with help from Joel;
* Conditionals styling WIP
- Much better flex approach to sections layout;
- Sanding and shimming;
* Conditionals styling WIP
- Fixed some linting;
* Conditionals styling WIP
- Tweaks for layouts issues;
* Hardcoded prototype - conditional styles for display layout or generator domain objects only.
Needs Architectural review
* Updates to ConditionalStylesView
* Adds background colors list
* Show conditional styles for subObjectViews and telemetryViews
* Uses telemetry provider to determine which style is active
Removes hardcoded conditionSet work used for prototype
* Fixes failing test
* Add default styles to conditionalStyles when a condition set is added to the domain object.
* Use EventEmitter alias instead of eventEmitter3 in imports
Change variable name for better readability and clarity
Remove unused code
* Change StyleRuleManager to accept conditionStyle objects instead of domainObjects
* Uses a map for conditional styles instead of a list in order to improve performance
* Use in-built api to check for identifier equality
Pass missing arguments
* Removes unnecessary object get call.
* update telemetry table to ingest marked row data, add a new alterntate bar with includes row name, selected rows and show selected rows toggle
* Enhancements for alternate toolbar in telem tables
- .c-control-bar adds style enhancements and `__label` element;
- Added `label` prop, markup and styling to ToggleSwitch;
- ToggleSwitch layout enhanced;
- Unit tested in main view and placed in Display Layout;
* made improvements to row marking
* bug fixes for marking
* fix linting issues
* -Make reviewer requested changes
-Clarify prop for marking
-Include alternateControlBar in the marking prop
- - since it only makes sense for making
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
* Fix imagery-related styles and markup
- VERY WIP!!!
- Style modernizing;
- Also, padding fixes for pane.scss - unit test for regressions!
* Fix imagery-related styles and markup
- VERY WIP!!!
- Style modernizing WIP;
- Fixes to pane classes for better padding in vertical panes;
* Fix imagery-related styles and markup
- Migrated all imagery CSS into imagery-view-layout.scss from _legacy
.scss;
- CSS cleanups;
- Refactoring/simplification of thumb layout;
- Color fixed for $colorPausedFg in theme constants;
* Scroll to right instead of bottom, on autoscroll.
* Fix imagery-related styles and markup
- Make the most recent thumb visually distinct;
- Clicking a selected thumb now deselects it and unpauses the view;
* Imagery fixes
- Fixed thumb click logic to properly toggle paused when clicking a selected thumb;
- Improved CSS so that `selected` updates more quickly when selecting the latest thumb;
- Clicking the main image pause button now selects the proper thumb;
* Fix linting errors
Co-authored-by: Nikhil <nikhil.k.mandlik@nasa.gov>
* resolved conflicts
* Revert "Condition reorder"
* Adds conditional style inspector provider
Adds condition style tabbed view (this needs to be extended to allow more than one pane per tab in a separate issue)
* Fixes linting issues
* Merge from topic-conditionals
* In order to accomodate two tab layout for the Conditionals feature, rename the following:
- openmct.inspectorViews registry to openmct.propertiesInspector
- InspectorViewRegistry.prototype.addProvider to InspectorViewRegistry.prototype.addViewProvider.
Replace occurances of the same to the new names.
In a subsequent commit expect a new view registry for the styles inspector view registry.
* Use 'styles' property on domain objects to indicate that they should have a styles inspector tab - Note that this will not show up on existing objects but only ones that are created after this feature is added.
Use 'styles' property on domain objects to determine if a styles view can be viewed
Removed the TabbedInspectorView and repurposed the InspectorViews to show both a properties or a styles registry.
Simplified markup in Inspector.vue
* Addresses review comments:
1. Go back to using inspectorViews
2. Remove stylesInspector registry
3. Hardcode Styles Inspector component view
4. Styles tab can be viewed for all creatable objects except for the folders, webPages and conditionSets
5. ConditionalStylesInspectorViewProvider is no longer needed because we are hardcoding the styles view component.
Co-authored-by: Joel McKinnon <JoelMcKinnon@users.noreply.github.com>
* Set criteria options on condition edit
* Persists telemetry options correctly and loads them on mount
* Fixes saving the input value for criteria
* Display active condition's output in read only view
* Destroy classes and unsubscribe when condition set view is destroyed
* Fixes saving the input value for a criteria
* Handle telemetry removal
* Fixes tests
* Addresses comments - change function names, consolidate compute function
* Addresses review comments
- Use camelCase for events (did not change properties as eslint complains)
- Reduce repeated property access by assigning to a variable
- Use descriptive variable name
* Addressing comments - improves input value field visibility logic
* Change variable name to reflect intent
- Use camelCase for events (did not change properties as eslint complains)
- Reduce repeated property access by assigning to a variable
- Use descriptive variable name
* use one navigated local storage item instead one per node
* use one expanded local storage item instead of one per node
* fix navigated
* collapse children when node collapsed
2. Persist the condition identifier only in configuration.conditionCollection array, not the domain object — done
3. WIP - Retrieve the condition domain object and instantiate the condition classes on load
* 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()`)
* Updates to README in topic-core-refactor
In preparation for merge into Master
* Added section on v1.0.0 and link to Migration Guide
* Minor wording change
* More minor wording changes
* Save and Finish blocking modal dialog Refactor and Styles #2500
* created new template for ProgressDialogComponent
* Tweaks for #2501
- Normalized dialog icon size;
- Enhanced text formatting in dialog;
- Changed "Saving..." to remove ellipsis;
## Reviewer Checklist
* Changes appear to address issue? Y
* Appropriate unit tests included? N/A - Icon changes only
* Code style and in-line documentation are appropriate? Y
* Commit messages meet standards?
* Mods to support NIRVSS spectra plot enhancements
- Plot legend can display a header element, related styles;
- Remove unneeded margin from propertiesHeader mixin;
* Mods to support NIRVSS spectra plot enhancements
- Finessing plot legend header styling;
- New theme constants for plot legend header;
- Increased size of plot color swatches;
* Mods to support NIRVSS spectra plot enhancements
- Major progress on Plotly style overrides;
* New glyphs for Spectra and Commands
* Icon backgrounds added for new glyphs
- bg-icon-spectra, -spectra-telemetry and -command;
* Plot legend enhancements
- Make selector for .hover-value-enabled less selective;
* Move plotly SCSS into its own file
* Push test
* Enhance plot legend placement for #2486
- Left and right legends now maintain position when expanded;
* Update index.html
- Remove erroneously committed temp change ;
* 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
* Add a sticky telemetry point select to on-click plot behavior #2379
* changed class 'lock-highlight-point' on parent element to drive lock/unlock feature on highlight points.
* Styling for sticky-telemetry-point
- New glyph: icon-cursor-lock;
- Better layout and SCSS for overlaid state indicators in plot area;
* single click on plot, lock/unlock highlight points.
* cleanup + added lock icon on legends.
* fixed panning does not end on mouse up.
* [Summary Widgets] Adding a new condition to a rule deletes the input value from previous ones #2411
* Summary Widget Rule conditions not persisting numeric values #2491
- Fixes icon-gear margin for #2477;
- Now applies mixed visual style to toggle frame visibility button in
Layout toolbar for #2460;
- Change Status area Indicators to right-justify;
- Adjust Status area collapse toggle button margin;
* Fix Y axis plot label control
* Now uses writing-mode: vertical-lr instead of transform for vertical
text;
* Text overflow: hidden prevents scrollbars;
* Select displayed on hover over Y axis area;
* Dynamically adds icon-gear when Y axis can be configured;
* use child plot div for image exports
* 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%;
* Adds global filtering
* Markup changes to support global filtering
* Adds toggle button
* Added row item spacing for tree__item in mct-tree.vue;
* Significant mods to tree-based properties displays in Inspector:
* Padding in c-object-label tweaked;
* Class naming normalized, legacy classes removed;
* Layout fixed for filters in Browse mode
* 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
* first pass
* add a unmark all rows button
* enable shift click to select multiple rows
* support row selection backwards
* Styling for marked table rows
- CSS class applied;
- Export button label modified;
* working pause
* working multi select
tables are paused when user selects a row
* Layout improvements for table and control bar elements
- Table markup re-org'd;
- New .c-separator css class;
- Renamed .c-table__control-bar to .c-table-control-bar;
- Added label to Pause button;
- TODO: refine styling for table within frame in Layouts;
* Refined styling for c-button in an object frame
- More compact, better alignment, font sizing and padding;
* change logic to marking/selecting
* use command key to mark multiple
* Fixed regression errors in markup
* add isSelectable functionality
* make reviewer requested changes
* remove key from v-for in table.vue
* 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
* Update the filters object properly when both checkboxes are deselected. Check composition before loading. Modify logic for mixed filters.
* Get compostion from the global context
* Use Set to store keyStrings
* Rename variables for clarity and add comment. Also add keystring to telemetryKeyStrings when an object is added.
* Use size to get the size of the set instead of length. Remove telemetry keystring from the configuration filters when object is removed from the composition and update the indicator label.
* Display a list of filters that are applied to telemetry objects in a telemetry table.
* - Display 'Mixed' if filters have mixed values.
- Use table configuration domain object to get composition.
* Filter indicator styling WIP
- Markup, class names added;
- TODO: 'Mixed' and commas to be added via CSS, icon and bg coloring;
* Filter indicators styling
- CSS, markup;
- Added dynamic labeling and titling for mixed/non-mixed filter states;
- Theme colors defined and added;
- Added new filter icon glyphs for both 16px and 12px fonts;
- Revised/normalized font project and glyph file names;
* Filter indicators styling
- Adding missed Icomoon project file;
* Filter indicators styling
- Reverting mistakenly changed file;
* Filter indicators styling
- Minor fix to theme sass;
- Sync maelstrom theme;
* Fix indentation
* Set label and title to empty string initially.
* Keep the default snow.
* Implement an inspector view provider to display a component that allows setting printf format for alphanumeric items in a display layout.
* Display 'Mixed' in format input if items' formats in selection are different.
* Use lodash function to find index.
* Simplify code.
* Put the logic to disallow viewing the inspector view for multi-select in the inspector view provider as apposed to the inspector view component.
* check composition policy before importing into parent
* use alert icon and improve message
* add a but in message
* change alert message to a more generic sentence:
* add a period
* Removed policy preventing duplicate composition, and implemented no-op in composition provider instead
* Change order of edit on drop event listener
* Add mutation listener to CompositionCollection even if nothing listening to collection
* Updated test specs
* Address review comments
* Fix regression
* Removed redundant composition creation
* Display a drop down menu if the selected key is of type enum.
* Create normalized dataum when persisting telemerty datum using metadatum source as key.:
* * Clear config values before creating new inputs.
* Emit ‘change' event with the value of the first option after creating the select element.
* If a value is a number, pass it as a number when emitting ‘change’. Similarly, if the cashed telemetry value is a number, convert it to number before applying the operation and validation.
* Update description.
* Update description in operations.js also.
* working fix
* prevent wheel zoom when nothing is plotted
* fix bug where chart was not getting rid of plot history
* override remove from series collection to keep changes contained
* don't untrack twice from plot options controller
* make plot controller the life cycle controller for config, destroy when the plot is destroyed. Remove tracking system. Add comments to zoom logic, and simplify remove and keep it in series collection
* add comments to removeTelemetryObject
* Removed policy preventing duplicate composition, and implemented no-op in composition provider instead
* Change order of edit on drop event listener
* Add mutation listener to CompositionCollection even if nothing listening to collection
* Updated test specs
* Address review comments
* complete working go to original action, todo (css class for action)
* Fix layout when a menu item does not have an icon
* Removed superfluous keystring conversion
- Fix color issue for mobile menu icon;
- Fixed Chrome 73 overflow issue in main folder view;
- Better fixes for Chrome 73 overflow bug;
- Code cleanup;
* Leave edit mode on navigation after removal
* Only leave edit mode if removing navigated item, or parent of
* Do not emit mutation from filters with out of date object model
- Icons added for red and yellow limits without upr/lwr classes;
- When is-limit--upr and is-limit--lwr present, those icons trump the
red/yellow icons;
- Styles for table tr's, and everything else;
- Unit tested in telem tables, LAD tables and plot legend;
* Modify Selection API to support multi-select via shift click.
* Add support for shift + click to add and remove the selection.
* Display message in Location and Properties for multi-select.
* Define applicableSelectedItems for toolbar items. Move toolbar control definitions to functions.
* Hide positioning inputs if multi-select. Show a 'non-specific' icon when a discrete setting can't be shown in a mixed setting."
* Add toolbar controls in groups per layout item type. Add nonSpecific property to toolbar items to be used by toolbar controls to show non-specific icon.
* Modify toolbar button to react to nonSpecific flag. Get form value by checking value of applicable selected items.
* Support deleting multiple selected objects.
* Do not disable controls when selected items have mixed setting.
* Revert default color to original value.
* Changes to snap-to-grid
* Remove timeout for updating toolbar after mutation. Do not copy toolbar item when iterating the structure.
* Implement move to top and move to bottom for multi-select
* Implement move up and move down for multi-select.
* Markup and CSS changes for mixed settings in toolbar
- Toggle, color-picker buttons;
- TODO: check other themes and sync;
* Mixed settings styling complete
- Refined and synced theme constants;
- Styling for all toolbar components;
- Text size menu handling;
- Inspector messaging;
* Fix selection path
* Mixed settings styling refinements
- Normalized button styling for mixed style context;
- Better theme constant naming;
- Refined swatch styling, better theme constants;
* First cut at getting the bounding rectangle working for multi-select.
* Set pointer-events to none on c-edit-frame to prevent marquee reacting to click events.
* Delete capturing before calling select.
* Remove EditMarquee from ITEM_TYPE_VIEW_MAP
* Pass selected layout items as a prop to edit marquee instead of selection so that x, y, w, h are updated.
* Multi-select c-frame-edit visual fixes
- WIP
* Add complexContent class for a single selected item whose type is subobject-view.
* Move 'c-frame-edit-move' div to layout frame.
* Saving work - multi-move WIP
* Fixes issue with selection happening at end of drag
* Styles fixed for new markup organization
- Marquee, frame styles;
- $editMarqueeBorder style added to theme constants;
* Significant functionality for .c-frame-edit__move element
- Added .is-multi-selected class to .l-layout when > 1 items selected;
- __move element now handles multi-select and complex content (CC)
objects:
-- 0 to 1 items selected, displays as hover bar with grippy on all CC
objects,
-- > 1 items selected, __move covers all of the frame of all selected CC
items and doesn't allow sub-object selection, and only displays as hover
bar on non-selected CC objects;
- Added better styling for selected objects while editing;
- Code cleanup and consolidation;
- Left translucent green style applied to __move element to temporarily
aid development;
- TODO: fix line drawing object;
* - Fix an issue where shift click did not remove the selected item from the selection after move.
- Modify telemetry and subobject views to emit move and endMove events.
- Clone selectedLayoutItems to get initial positions instead of selection so subsequent moves start from the current position.
* Fix cursor for __move, code comment refinements
* Code cleanup, line view markup changes
- line view markup brought into line with structure in LayoutFrame.vue;
* Implement multi-resize
* Simplify edit marquee code. Revert image and text views' default position to the original values.
* Fix resize for single selection when snap to grid is disabled
* Hide edit marquee if single line is selected, and show c-frame-edit in line-view instead.
* Fix for LineView handles
* Remove snap to grid toggle button and modify the migration script to convert elements with pixel coordinates to grid.
* Fix resizing single line
* Calculate width and height differently for line to position marquee correctly.
* Fix moving single selected line
* Calculate the height and width for line before comparing them with max height and width to correct the marquee position.
* Change the logic for showing frame edit for lines to check for item id.
* Allow multi-move with line in the mix.
* Implement multi-resize when grabbing SW corner.
* Removed temp green tint from __move element
* Fix object undefined error.
* Implement multi-resize for all items except line (take 2).
* Misc UI 7
- CSS selectors to properly display edit marquee, don't show in browse
mode;
* Fix multi-resize for lines.
Make sure line's height and width is minimum 1.
* Disable inspector views when multiple objects are selected.
* Restored layout grid display on sub-layout selection
* Clean up code
* Fixes
- Edit marquee display fixes;
* More code clean up
* SIGNIFICANT fixes and rewriting in LayoutFrame.vue
- Styles for .c-frame-edit__move element for selection and hovering;
- local controls;
- view large button;
- Theme constants updated;
* Get selected item's index from layoutItems.
* Address review feedback.
* Merge topic-core-refactor
* Reset keyString to empty string after setting original path when domainObject is undefined.
Add proper check for selection.
* add a function to change selection of deleted item in remove action, and update flexlayouts
* resize when item is deleted
* fix for resize handles not showing after object is dropped
* fix isAlias logic for folder views
* remove uneccesary console log
* move selection logic to flexible layouts
* only update inspector views if selection has changed to a new context
* force a digest in the plot options controller once the series are added
* conditionally show snapshot button only if notebook is installed
* Misc UI 7
- Better approach to hide/show in Tabs view;
* Misc UI 7
- Fix Chrome 73 bug for Folders in Tabs and Flex Layouts views;
* Misc UI 7
- Fixed look of text inputs in Snow;
- Added description for Tabs View;
* Misc UI 7
- Resizeable table column headers now clip properly;
- Cleaned up and consolidated related CSS;
* Misc UI 7
- Remove undesired top margin in Flex Layouts;
- Fix Chrome 73 overflow bug in ObjectFrame;
* Misc UI 7
- Remove undesired top margin in Flex Layouts;
- Fix Chrome 73 overflow bug in ObjectFrame;
- Enhanced View Large button so now displays in objects with
frames hidden;
- Changed behavior for frame move bar such that it only displays for
selected items;
- Fixed bug where telem table columns can't be resized in new tables;
- Added overflow handling to telem table column headers;
* Misc UI 7
- Remove undesired top margin in Flex Layouts;
- Fix Chrome 73 overflow bug in ObjectFrame;
- Enhanced View Large button so now displays in objects with
frames hidden, and is only shown for objects that get
.has-complex-content applied;
- Changed behavior for frame move bar such that it only displays for
selected items;
- Fixed bug where telem table columns can't be resized in new tables;
- Added overflow handling to telem table column headers;
- Fix for clipped color palette in Summary Widgets, and better flex
layout in sizing in edit interface;
- Added timer and hyperlink to SIMPLE_CONTENT_TYPES list;
* Misc UI 7
- Accessibility: add name of object as title attribute to Layout frames;
- Moved c-frame base styling into c-so-view;
* remove title from layoutFrame
* 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
* Sanding and shimming on loading CSS
- Wait spinners in the tree;
- Move spinner and loading CSS from legacy to global.scss;
* Misc UI 6
- Better approach to Time Conductor overflow;
- Fixed main page left/right clipping issue;
- Fixed table header bg styling that had issues in legacy tables;
- Fixed Time Conductor datetime picker clipping issue;
- New .c-message--simple for use in Summary Widgets;
- Better styling for header in empty Tabs view;
- Fixed Chrome 73 scrolling bug in Summary Widgets;
- Fixed problem in Inspector <li> elements from new wait spinner;
- Fixed color of <a> tags in tables to be more visible;
styling;
* Misc UI 6
- Fix VISTA session selector not scrolling (Chrome 73 overflow bug);
* Misc UI 6
- Fix VISTA session selector not scrolling (Chrome 73 overflow bug);
* Style fixes for Inspector and location elements
- Code cleanup;
- Remove legacy styles;
* Tab styling WIP, for VISTA Venue dialog
* Add new c-tabs styles, replaces c-compact-button
- Remove c-compact-button and mixin;
- Refactor to use c-tabs in Tabs View;
- New notched look for tabs;
* Tweaks to c-tabs
* Misc various
- Increased mouse wheel zoom and changed to use const;
- Fixed squishy grippys in Elements pool;
- Fixed Time Conductor to prevent overrunning right pane when main pane
is very small;
- Changed message text when leaving Layout editing;
- Fixed z-index problem with splitter bars and VISTA Indicator hover
bubbles;
- Restored support for legacy `l-input-lg` to allow large text input
fields in form generation;
- Modded styles in Properties dialog to fix issue with label column
colliding with inputs when the label text is long;
* Restore hover hide/show to local controls in Summary Widgets
- Also fixed rotation transition for disclosure controls;
* Refinement to overflow hidden for Time Conductor UI
* Fix Time Conductor layout in mobile
* Fix Filter tree items in Inspector
* Move .selector-list out from within .form .form-row to allow more
flexible usage;
* Significant theme updates; table layout and Summary styling added
- Reorganized status constants;
- Added base styles for selected and active styles;
- Added styling for selected and active buttons;
- c-table changed from absolute pos to relative;
- Added c-table-and-summary styling;
* Tweaks to Location component
* 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
* Better drag reordering affordance in Elements pool
* add isDragging
* Better drag reordering affordance in Elements pool
* Only add dragend handler after drag starts
* Fix legacy message styling
- Code cleanup;
- Enable constants-mobile;
- Add _legacy-messages.scss;
- Add status color fg colors to theme constants;
* CSS refactoring, significant migration for messages classes
- Many messages classes migrated;
- c-click-icon > c-icon-button;
- c-click-icon rewritten;
- __close-btn refined in dialogs;
* About and splash screen styling
- Fixed splash in About screen;
* Update _mixins.scss
* Convert c-overlay__close-button to button
- <a> -> <button>;
- Set color of button;
- Normalized naming from close-btn to close-button;
* Fixed brightness filter issue on elements in overlays in VISTA;
* Fix dismiss button
* working crosshairs -- todo -- add toggle option
* add ability to toggle crosshair
* add zoom in by onscreen button to plot
* add zoom out functionality
* switch positions of zoom in and out buttons
* working zoom with mousewheel
* add better logic to storing plot history on mouse wheel zoom
* Local controls styling in plots and imagery
- WIP
* Plot local controls, cursor guides
- Local control classes much refined;
- Cursor guides styled, theme constants added;
* Fix local controls in imagery
- LC styles refined;
- New theme constant;
* Better approach to loading
- New .c-loading--overlay that doesn't block the cursor;
- Applied to plot views (telem, overlay and stacked plots);
* Plot styles, local controls refined
- Moved plot classes into their own scss file;
- More refinement on local control styles;
- Plot local controls layout finalized;
- Buttons smallified in layout frame context;
* Convert export buttons from <a> tags
* Stubbed in cursor guide buttons in templates
- WIP!
* add toggle-cursor-guide-button to stacked plots
* move cursor guide button to top left in all plots for consistency
* Plot local controls layout refined
- Also: global styling for *[disabled]
* Change c-button 'is-enabled' to 'is-active'
* Added check for if crosshairs enabled before tracking
* working original location - todo link location
* remove link location for now
* remove legacy getPath and implement new getOriginalPath API call
* simplify getOriginalPath, and use path to calculate parent paths in location.vue
* Fix foreground color of option elements in selects
- Windows users in Snow theme reporting white foreground color on system
background color (light gray) when interacting with select elements.
This fix hard-codes the option's `color` attribute to black.
* Add background property to style select options for Windows
* 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
* Reorder events emit full reorder plan
* Fixed failing specs
* 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
* 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';
* Do not try to convert undefined to a string
* Fixed metadata sorting. Iteratees that return arrays are treated as object paths.
* Added test specs for telemetry API reordering change
* Added telemetry filters to the API
* Support multiple inspector views
* Renamed InspectorView.vue to InspectorViews.vue
* VISTA compatibility issues (#2291)
* 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
* Legacy style migration in progress
- Working bottom up, many legacy items commented out. Stopped at
controls/indicators;
* Further migrations and deprecating
- Legacy indicator styles moved;
* WIP Styles migration
- s-button converted to c-button, WIP;
- Other
* Significant progress on migration, but still very WIP
- Mostly constants and overlay styling;
- Also bubbles and splitter;
- TODO: fix tree in overlay and splitter in imagery!
* Fix Summary Widgets UI WIP
- Remove non-working status 'editing' checks;
* Fix Summary Widgets UI WIP
- Remove non-working status 'editing' checks;
- view-control > c-disclosure-triangle;
* Fix Summary Widgets UI WIP
- Markup changes;
- Migrate CSS to styles-new, remove old;
* Fix Summary Widgets UI WIP
- Rule formatting and layout;
- Refinement to _controls / select {} padding;
* Fix Summary Widgets UI WIP
- Toolbar styles made more portable;
- Palette style migration;
- Very WIP;
* Fix Summary Widgets UI WIP
- Palettes all fixed and functional;
- Conditions layout;
- New c-button--swatched styles;
* Fix Summary Widgets UI WIP
- Clean up code;
* Fix Summary Widgets UI WIP
- Fix button in Test Data area;
* Fix layout in shell left pane due to elements being moved
- Styles fixed and refined;
* Fixed palettes
- Fixed icon palette;
- Significant refinement to general palette styles;
* Significant fixes for Summary Widgets
- Widget editing UI fixed;
- JS cleanups and improvements;
- CSS, JS code cleanup;
* Migrate tree view used in Locator
- Mods to legacy markup;
- Mods to current CSS;
- Removed import of legacy tree CSS in legacy-styles.scss;
* Migrate archetypes
- l-flex-row, l-flex-col, etc. moved to legacy;
- grid-* styles cleaned up and moved, @extends removed;
- WIP on c-object-label, move styles from mct-tree.vue into ObjectLabel
.vue;
- TODO: finish up c-object-label, cleanups in mct-tree.vue;
* Migrate effects and animation mixins
* Object labels, legacy cleanup
- Add and apply .c-object-label for tree node elements;
- Remove legacy class "tree" from markup;
- Tweak color of tree item hover for better contrast in Inspector;
* Fix palettes in Inspector
* Various
- Fix hover color in tree for better mechanics on a variety of bgs;
- Fix object label in Locator tree;
- Remove overlay blocker test color;
* Significant work for Summary Widgets, mctForm, compact form
- Forms in overlay dialogs fixed;
- form, compact-form, other classes migrated into new _forms.scss;
- Fixes for Summary Widgets;
- Theme constants files synced, add form values;
- Removed import of legacy forms/elems SCSS file;
* Migrate various
- Autoflow tabular;
- Datetime;
- Channel selector;
- Form validation;
* Migrate wait spinners, final cleanup
* Remove old src/styles directory
- Remove old Snow and Espresso plugins;
- Remove refs to old Snow and Espresso config'd aliases;
* Update Palette.js
* Update Palette.js
* Removed commented code
* Removed commented code
* Migrate About, startup and splash screen styles
* Added telemetry filters to the API
* Support multiple inspector views
* Renamed InspectorView.vue to InspectorViews.vue
* first cut of filter inspector plugin
* abstract for better readability
* third times the charm
* working persist checkbox selections
* fix typo
* working persisted filters from inspector
* add prop validations for FitlerValue and FilterObject
* enable filter inspector view for overlay and stacked plots
* remove object from persisted filter when object is removed from composition
* update filterValue to filterField for clarity
* Added filter code to tables
* add filter support to Telemetry Tables
* fix errors when old domainObject does not have configuration property
* working filters on overlay plots
* make requested changes
* Add filters as 'options' object on subscribe
* Significant mods to Filtering
- Styling;
- Added Browse view in Inspector;
- Added .c-checkbox-list class;
- "PLOT SERIES" header changed to "PLOT SERIES OPTIONS" for clarity;
* make filter update pass updated filters to telemetry adapter
* Tolerate undefined configuration
* Conditionally destroy filters listener
* use @change event instead of @blur'
* prevent default on dragover in dropHint, to allow drop event to fire
* add notebook snapshot to preview
* fix for preview image overlay
* pin fast-sass-loader version to 1.4.6
* fix saveAs in plot image export
* fix elements search in inspector
* fix current Search error
* fix anonymous render error in layout
* navigate and edit on create
* remove domainObjects from composition when deleting frames and containers, and also fix a bug whereby a user can add domainObject via drag and drop(composition) but because of the lack of containers, it will not be added to the flexible layout
* fix index undefined error when reordering containers
* throw an error when user cancels instead of returning false
* fixes for toolbar not updating on selection change
* fix errors when objects without context are returned by the search aggregator
* prompt user before cancelling edit
* check transactions before prompting user
* add save and continue editing option to save menu
* prompt user if in edit mode and is navigating away
* 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
* Set time system / bounds immediately based on conductor configuration
* Hide date picker if not UTC based time system. Improve Conductor configuration error messages.
* Get selection context from object view for constructing the context in subobject view.
* Implement getSelectionContext for flexible layout provider and remove code that makes flexible layout self selectable.
* Get selection context from object frame when constructing context for frames.
* Disable Add button when selected parent is a flexible layout
* Make 'Add' button working for selected display layouts in a flexible layout.
* fix expand error and fix flexible layout toggle container issue
* Check for parent object before getting composition.
* Open in new tab
* Fix splitter resizing error, and css background issue
* Prevent new line on enter key press when editing name in object browse bar. Update domainObject name on enter key press in Object Browse Bar
* Flexible layout should react to composition remove, and fix delete container
* Render a drag ghost when dragging frame items in flexible layout
* Use composition.on add to add new frames
* Styling for selects
- New cleaner styling approach;
- New cSelect and appearanceNone mixins;
- Converted selects in Notebook, plot-options-edit;
* List View fixes
- Ellipsizing now works;
- Better icon and text alignment;
* Remove updateDrilledIn function and calls
* Telemetry Table editing styles
- Headers now have hover effects;
* Change 'toggle'-style toolbar buttons to reflect current state, rather
than what will be the setting once clicked
- When frame is hidden, button displays the frame-hidden icon, and
tooltip says 'Frame hidden';
* Enable all sub-object views in Display Layout to use numeric inputs for
x, y, width and height
* Toolbar sanding and polishing
- Button order tweaked to place stack order near X, Y, etc. inputs;
- Improved spacing between items themselves and separators;
* Fix indentation
* Fix indentation part deux
* fix add links by drag and drop
* fix dialog component logging errors
* fix search component errors
* fix sort
* remove unused entrydnd file
* remove unnecessary console logs
* fix preview action in embed dropdown, which was throwing a type error
* invoke PreviewAction once in NotebookController and pass into git add -a
* add navigation capability to embeds, and a bunch of cleanup
* code cleanup and avoid calling dismiss twice on overlay destroy, which was throwing a DOM error. Calling code should dismiss the overlay
* only show elements pool if domainObject has composition
* fix error in inspector when no selection is present
* wire up object view expand button
* listen to composition#remove in TabsView
* make reviewer requested changes
* make reviewer requested changes, and fix for an edge case where removed tab is at the end of the array and currentTab is not set properly
* remove array wrapping dynamic classes in embed.html
* add title='View Large' to expand button
* change model variable to domainObject in tabs.vue
* dismiss top level overlay when esc is pressed (only if overlay is dismissable)
* fix link navigation from embeds
* use positive flag dismissable instead of negative notDismissable for overlays
* make overlays dismissable by default, unless set to false
* Add a toolbar menu for changing the display order of items.
* - Wire up orderItem
- Modify the toolbar API to support function as alternative for property path.
* Add a button in the toolbar to toggle snapp to grid.
* Convert item's coordinates and size from grid unit to pixels depending on useGrid value.
* Rename selectionListener to removeSelectionListener
* Removed debubgging statement
* Change order of mutation events so that composition handlers are working with latest object version.
* Remove suppression of mutation event
* Minor code reformatting
* 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
* Drag-drop edit mode from capture handler. Drag-drop composition from bubble handler. Check composability on drag start
* Show drop hints without being in edit mode.
* Don't serialize objects twice on drag
* Clocks and timers styling WIP
- Markup, new styles;
- Renamed _legacy-plots.scss > _legacy;
- New $colorBodyFgEm constants - theme files all updated;
* Clocks and timers styling complete
* Styles clean up
- Moved legacy styles out of _global into _legacy.scss;
* working telemetry subs
* Styling for LAD table
- Fixed markup;
- Corrected icon, added description;
- Expand c-table styles slightly, moved some definitions into
c-telemetry-table;
* add LADTableSummary
* change function names
* make reviewer requested changes
* add lad table headers in sets
* make column widths fixed
* handle composition remove in sets and tables
* finish updateTimeSystem
* add correct support for limits
* LAD Table and Table Set styling
- Removed fixed table layout;
- Col widths set to 33% for now;
- New c-lad-table class and styling;
- New __group-header class added;
- All themes updated with __group-header style colors;
* make reviewer requested changes
* use lodash findIndex
* fix view names, and persist sort order across list views by persisting in local storage
* use keystring as key
* add openmct namespace to localstorage persisted listview-sort-order to avoid name collision, rename key in composition-loader to objectKeyString
* Add delete button in the toolbar for removing items
* Mutate composition if there are no telemetry objects. Select the parent layout after deleting an item.
* Saving work
* Watch for index in the components and update it in the context.
* Select the parent after a composition is removed.
* Address reviewer's feedback.
- Rename mutatComposition() to removeFromComposition().
- Inline logic for filtering composition
- Use separate branches for each item type in trackItem().
* Address reviewer's requested changes
* Create button disabled when editing
* New disabled mixin;
* Tree styling
* Fixed icons for fullscreen toggle button
* Local controls fixed for Imagery and Plots
* Range control styling updated;
* Plot styling, significant mods
* Disclosure controls improved;
* New _legacy-plots.scss file added, no longer loads legacy plot SCSS
files;
* Removed 12px crosshair cursor in legend hover;
* Inspector tree styling in plot options
* Fix z-indexing related to Overlays
[tree] fixes warning from viewControl about improper mutation in child component
[tree] show links in tree
[toolbar] close open menu when clicking on another menu.
* Create button disabled when editing
- New disabled mixin;
- Selector def for .is-editing .c-create-button;
* Symbolsfont install generation, Elements pool
- Moved font src statement to prevent genning of symbolsfont in wrong
directory locations;
- Elements pool styling WIP, todo: hover item styles, class naming;
* Tree styling
- Hover behavior refined;
- Styling for .is-selected state;
* Fixed icons for fullscreen toggle button
* Tree-related styling for is-selected, is-being-edited
* 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
* Hacky WIP
* WIP
* check for 'domainobject' in data transfer
* Metadata manager can return default display value
* Refactor subobject and telemetry views to use layout frame
* Use data domainObject
* Get metadata for selected object.
* Don't inject lodash via vue
* move selection to specific layout types
* restore toolbar functionality
* Support creating line
* Add controls for setting x, y, x2 and y2 for lines from the toolbar.
* Initial attempt at resizing lines
* Check for duplicate panel
* line resize handles working
* Get Text and Box elements working.
* Refactor image view to use layout frame
* Fix drill in
* Check for object before accessing the identifier to avoid type error.
* Add inspectable class if item is subobject or telemetry view.
* Delete unused files
* remove unused imports
* Fix typos
* Fix cssClass and objectPath
* object can be undefined so check for it not being undefined before adding a listener.
* Set cssClass when domain object is available
* Get user input for text and image in the toolbar when adding element.
* Theme refactoring
- New hero, header and body font mixins added to theme files;
- Mods to body, griditem, frames, browsebar, etc. to use new font
mixins;
- Moved symbolsfont definition into _constants.scss;
* Tweak - make SubobjectView use header font;
* Add new theme 'maelstrom';
* Add comment
* Remove deprecated .svg and .eot symbol font files
* only store identifiers in frames
* move drop hints outside frame
* fix resizing
* fix drag and drop frames
* fix reordering of columns
* multiple improvements
* fix styling for drop hint in empty container
* fix frame reorder in same column
* better drop target show logic
* better frame drop to logic
* fix container reordering
* add uuids for frames and containers to prevent clashing
* toolbar updates
* use shared subobject component to ease styling
* add type cssClass to subobject component header, and delete frame header vue file
* add context menu in subobject views
* change height and width to size for both frames and containers
* remove uneccesary methods from resizeHanfle and inline logic instead
* remove left click logic from context-menu mixin, add a click handler to dropDownContextMenu to show menu
* make a mixin to listen for isEditing
* encapsulate drop hints, and pass allowDrop logic to check if drop hint is valid
* use event.dataTransfer instead of vue events for container reordering
* remove vue events for frame dnd and use html events
* better implementation of toolbar
* remove unused event
* fix container resizing when adding new container
* make reviewer requested changes
* add containerId to event vs having a JSON object
* watch domainObject from flexible layouts and pass down to components
* change domainObject directly on add Container
* update domainObject on change, and cahnge toolBarProvider to function that returns an object
* fix plugin
* set domainObject as data property in felxibleLayouts
* use class instead of inline styles
* Cleanup code
inline this.$el for components that measure their own size
replace snapToPercentage with Math.round
inject object as layoutObject, not dObject.
* reuse sizing logic between frames and containers
* clean up handlers
split handlers for createFrame and moveFrame events in container.
reorganize methods for each to clarify how they operate.
* ObjectView only stops propagation when it handles event
* use ids in toolbar to ensure correct items are mutated
Because index may change due to drag and drop events,
deleteFrame and deleteContainer should operate using identifiers
instead of index.
Also, generate path for hasFrame using indexes when object is
selected, otherwise hasFrame may refer to the incorrect path.
* - 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.
* 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
* mutation listener adds via transaction manager
Update the TransactingMutationListener to add items to a transaction
using the transactionManager so that they can be properly removed
from the transaction at a later date.
Prevents showing error dialogs during successful save, and also
prevents persisting duplicate objects.
Fixes#1468
* 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
* first cut of flexible layout
* better drag handling
* add drop targets to every row
* enable drag and drop between columns and rows
* enable persistance
* add editing capability
* chage rows to frames and columns to containers, switch draggable to whole frame object
* Merge latest, resolve conflicts.
Need to just apply these changes to Deep's branch and push
* enhancements to drag targets
* WIP in flexibleLayout, container.vue files
- Refined classes and markup;
- min-width changed to flex-basis;
- Added toggle direction button;
* Significant progress but still WIP
- Refined classes and markup;
- Layout toggling working;
- Add Container working properly;
- TODOs: fix sizing in empty container, fix bordering, more refinements;
* add resizing of frames - still wip
* Significant enhancements
- Moved all CSS into flexibleLayout.vue;
- Layout now improved for empty container and drop hints;
- Proportional sizing now better for frames and containers;
* Resize handle WIP
* abstract splitter and logic into self contained component that will emit an event when mouse is moving
* Resize handle WIP
- Minor tweak to handle padding and hover;
* add container resize todo persist
* persist container resize
* add frame header, fix column resize on last column
* Refinements to resize-handle
- Fixed sizing;
- Transition on hover;
- TODOs: needs is-dragging to maintain hover style while dragging;
* fix drop hints showing after drop
* move header
* improve mouse move gesture
* Added frame size indicator
* add snapto functionality
* Refined container and frame size indicators
- Also added overflow handling to l-grid-view
* improve resizing logic
* add selection on frames
* Various resizing-frames related
- Fixed overflow - now frame widths can be collapsed to 5% minimum;
- Sizing indicators refined, better positioning and layout;
- Added grippy drag indicators to column heads;
- TODOs: add column head cursors and hover effects, hide indicators
when not in edit mode, handle nested layout and flex layouts while
editing
* Selecting and emtpy layout messaging
- Better empty layout message;
- Moved s-selected to proper element in c-fl-frame;
* Drop-hint and sizing related various
- Drop-hints for first placeholder container now display;
- Drop-hints moved into drag-wrapper;
* add delete frame
* Editing various
- Adjust Snow theme constants related to editing;
- Changed delete message wording;
* Updated icon and added description
* add toggle and remove container to toolbar
* miscellaneous cleanup
* add container button to toolbar
* improve toolbar
* code cleanup in plugin.js
* Various icons, toolbar separator
- Copied in c-toolbar__separator and associated changes in _controls
from Pegah's layout_alpha branch - may have conflicts later.
- Added separator to FL toolbar;
- Updated icons for grippy-ew, toolbar icons;
* add check for empty containers"
* logic to resize frames on drop
* fix delete frame and persisting toolbar
* Significant changes to edit / selection styling
- Both Flexible and fixed Display Layouts addressed;
- Both themes addressed;
- Changed drop-hint icon to icon-plus;
* add correct icons to frame header and fix toolbars showing up in wrong views
* Moving and resizing various
- Cursors;
- Grippy added to frame resize-handle, WIP!;
* add container reordering
* add frame/no frame support to toolbar'
* fix regression of resize handles showing after last frame in container
* force selection of flexible-layout when editing is first clicked, to apply correct toolbar
* make changes to simplify toolbar
* Modified sizing algorithm slightly
* make changes reviewer requested
* fix regression that causes top drop hint to not show
* remove unused variables and bind events to vue
* unsub selection before destroy
* Support displaying and adding telemerty points in display layouts.
* Create TelemetryView component. Also disable the toolbar frame button for telemetry objects.
* Add 'components' directory and move the toolbar provider definition to a separate file.
* Saving work
* Saving work
* Saving work
* Fix telemetryClass
* Fixes for .no-frame in new markup structure
- CSS cleaned up and reorganized;
- Added .c-telemetry-view classes;
* Add computed properties for hiding label and value.
* Filter value meta data based on the item config display mode.
* Add drop down menus for display mode and value
* Add toolbar controls for telemerty points
* Set border and fill related styles on telemetry view instead of layout item
* Refinements to telemetry view
- Stoke and fill styling now work;
- Internal element layout now much better when sizing in a Layout frame;
- Tweaked color of frame border while editing;
* Prevents adding a new (panel) object if it's already in the composition.
* Fix for jumping edit area
- Removed v-if from Toolbar.vue;
- Refined c-toolbar styling;
- TODO: don't include toolbar component when not editing, and for
components that don't use a toolbar;
* Add a separator toolbar control
* Check for domainObject being on the toolbar item as not all controls have that property
* Hide 'no fill' option from the text palette.
Modify the color-picker component to say 'No border' for stroke palette.
* Move the listener for hasFrame to the subobject view configuration
* Fixes for toolbar-separator
- New mixin;
- Corrected markup for separator;
- New class for .c-toolbar__separator;
- Updated DisplayLayoutToolbar.js to include separators in the right
spots;
* Get type from item.
* Include copyright notice.
* Use arrow function for consistency and define a TEXT_SIZE constant.
* Use composition API to add non-telemetry objects instead of relying on the drop handler.
Display a blocking dialog if an existing non-telemetry object is dropped.
* Fix text color picker icon
* Address reviewer's feedback
* Load the composition and update addObject() to render existing panels as well. Also, cache the telemetry value formatter.
* Add listener for changes to time bounds.
* Code cleanup
* Use getFormatMap() to store formats. Reset telemetry value and class before fetching new data.
* Fix a typo
* Define telemetry class and value as computed properties.
* Change context object definition
* Look at the telemetry metadata to find a good default for the value key instead of defaulting to 'sin'. Also, make formats reactive.
* Use let instead of var.
* Renders with resize hotzones
* Implemented basic reordering of columns
* Refactored column headers into component
* Custom column widths persist during resize
* Initial working version of fixed column sizes
* Only calculate default sizes when first data received.
* Further fixes for fixed column widths. Add option to switch to auto-widths
* Fixed bug with table auto-sizing
* Only allow reorder and resize in edit mode
* Bug fixes
* Allow for scroll bar width
* Bug fix with tables reverting to 100% width
* Fixed bug with drop position indicator when scrolled
* Moved events on to component
* Do not throttle mouse events. Let Vue throttle them
* Do not hard code vertical offset for drop target
* Addressed review issues
* Clarified mouse event handling on column resize
* Very significant update to symbols font
- New Icomoon project and font files for 16px symbols;
- Symbol char codes now PUA and hexadecimal compliant;
- Symbols reorganized;
- New symbols added;
- Remove loading of legacy glyphs scss file;
* Added new fonts
- Updated Tabs View icon art;
- Generators icons added;
* Added new icon glyphs and background SVG art
- New icons for generators;
- New icon for Flexible Layout;
- New icon-grippy-ew, for Flexible Layout, others;
* Remove unused legacy font files
* first cut, working for objects with explicit height
* working for all objects by setting min-height explicitly to 70vh
* add composition listeners
* Tabs view WIP
- Markup and CSS BEMized;
- Stubbed in type icon in tab elements;
- TODO: refine styling on tabs;
* Tabs view WIP
- Layout enhancements;
* add types and header
* remove static icon-layout class
* move Tabs into its own plugin folder:
* simplify on composition add listener callback
* fix icon rendering
* add document dragstart and dragend listeners, with v-if div for drop target
* remove third argument from document listeners, move drop target to tab container
* Sanding and shimming on Tabs View
- WIP
* Tabs View styling
- Shippable to Deep;
- Added new c-drop-hint element in _controls.scss;
- Added new theme constants;
- Added 'empty' tabs view message;
- TODOs: add listener for dragover event for is-mouse-over styling,
integrate forthcoming changes to symbolsfont;
* add is-mouse-over class when drag enters dropHint div, add and remove listeners
* .c-drop-hint styling refined
- Refined hover effects;
- Bg icon instead of glyph character;
- TODOs: Change $bg-icon to plus sign;
* fix bug regarding persisting drop-hint styling even after drop is ended
* 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
* Initial attempt at getting the toolbar for the fixed position working with the Vue toolbar controls.
* Set title for controls
* Significant mods to support legacy Fixed Position
- Moved selection and editing styles into _global.scss;
- Changed class naming in legacy fixed.html to map to newer CSS styles;
* Pass in the color value
* Do not show the toolbar container if structure is empty.
* Use a plugin for fixed position to get access to openmct. Show the toolbar only if the object is being edited.
* Ensure fixedController is on the selection context when editing
* Add listener for a domain object with the same id only once.
Update the toolbar value after the object mutation.
Remove editor isEditing listener on destroyed.
* Remove space between the size and px.
If newObject exists, update the toolbar value.
* Remove --nwse class name which seems to be a typo
* use modifier convention
* 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
* Added progress method to notifications so no longer dependent on reactive properties
* Updated notification launch controller to use new progress method
* Added progress function to Notifications API. Introduced NotificationService compatibility layer for legacy code
* Add a toolbar provider for display layout.
* Move toolbar provider to the plugin
* basic toolbar generation
* componentize different toolbar control types
Break toolbar control types down into different parts and provide
a test toolbar generator in index.html that utilizes all the
controls.
* Get the 'Show frame' checkbox working in the toolbar
* - Remove extra listener.
- Display toolbar only when editing.
* Modify the Selection API to set s-selected and s-selected-parent attributes instead of adding to the css class names.
* Move the logic for allowing the toolbar in the edit mode to the provider.
* Use toggle-button component to toggle frame
* Delete old files
* Remove MCTToolbar
* Modify the toggle button component to return the computed value
* Remove reload=true
* Revert to the original setting
* use value from props
* Always update toolbars on edit status change
* restore fixed position bundle
* bring back reload when hmr unavailable
* Conductor fixes
- Restore RT update time field;
- Colors tweaked;
- Much better mobile layout;
* Significant fixes in Conductor markup and styling
- Markup/CSS simplified and clearer;
- Better coloring in both Themes;
- Better clarity for axis UI element;
- Fixed hover and focus styles on inputs;
- Fixed overflow problem when Inspector collapsed;
- Temp legacy styling for Plot inspection, series options, etc.
- Factored out non-useful gridTwoColumn mixin;
- Brought back legacy tree.scss file in legacy-styles.scss;
* 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
* Saving work
* Fix conflict
* Position the panels by setting the style
* Put the div back with height set to 100% in ObjectView.
Add markup for drag handles.
* Use default position and dimensions if the layout panel is missing those values. Set s-status-editing on the main div to get the drag handles appear for now.
* Display Layout and frames major improvements
- Moved Toolbar out of Layout.vue and into DisplayLayout.vue;
- Styles for object view, Layout, Frame, etc.
- Major refactor of markup for frame;
- Added abs() mixin;
- Styles for is-editing done;
- Styles for
- TODO: styles for selectable, moveable, etc.
* Implement drill in gesture.
* Hide the background grid when a frame is drilled in
* Edit styling and toolbar WIP
- c-search styles moved mostly into mixin;
- New .c-labeled-input class;
- Browser overrides for number-type input spinners in webkit;
* Toolbar WIP
- Custom wrapped number input added;
- Toolbar buttons WIP;
* New toolbar buttons WIP
* Define a computed property for the css class object.
* Frame edit handles markup and styling
* Toolbar, editing and selection style refinements
- Moved toolbar back into Layout.vue;
- Hard-coded 'is-editing' onto __pane-main for now,
removed from DisplayLayout.vue;
- Styles for frame in LayoutFrame.vue:
-- editing default (dotted border)
-- editing .s-selected
-- .s-drilled-in (renamed .is-drilled-in)
* Refactoring button classes
- Lots of stuff broken right now;
- TODO: lots of renaming (c-menu-button, c-icon-button, etc.);
- Removed import of _controls in search.vue;
* Fixes for selection on nested selected elements
* Fix conflict
* Significant refactoring of button and click-icon classes
- Markup and CSS updated;
- Toolbar in good shape, prior to merge of vue-layout;
* Fix issues with relative font-sizing
* Add color palette markup and CSS
- Also added Layers menu example;
* Font, font-size glyphs and size menu, and more
- Added art for font glyph and renamed from .icon-T;
- Added new glyph for font-size;
- Fixed font-sizing in controls;
- Added font-size menu;
- Re-org'd toolbar items;
* Styling tweak for c-labeled-input
- Code cleanup as well;
* Fixes for toolbar toggleMenus and labeledNumberInput
* Implement resize and move for frames.
Added stub for drag 'n drop.
* Add custom checkbox control.
- Also, code cleanup.
* Add toggleButton component
- Code and examples
* Custom checkbox code cleanups, sanding
* - Persist new position/dimensions on the domain object when frames are moved/resized.
- Bypass the selection of the layout when dragging a frame is finished to keep the frame selected.
- Set the grid size to layoutGrid from domain object or use default if it's not specified.
* Fix conflict
* Implement resize and move for frames.
Added stub for drag 'n drop.
* Remove old layout view, was triggering View Switcher
and massive confusion when viewing Layouts
- TODO: add view provider for new Layout
* Enable drag and drop
* Changed example toggle-button
- Now uses show/hide frame as toggle-button example;
* Added pseudocode for handling drag/drop composition change
* Add copyright notice
* Layout frame and contained components styling
- Hyperlinks, Hyperlink buttons, Summary Widgets now use `.u-links`
which disables their pointer-events when editing;
- Hyperlink buttons, Summary Widgets now expand to fill their
containers in a Layout;
- Markup and JS for Hyperlinks, Hyperlink buttons, Summary Widgets
somewhat
modded to use new classing, applied in legacy scss files;
* Fix icon sizing error in BrowseBar
* Edit and selecting styling for Layouts
- WIP!
* Edit and selecting styling for Layout frames
- Color vars more standardized;
- Hover and *-selected styles;
* Getting vue-toolbar reverted back to latest
- Merging this branch with vue-layout may cause conflicts;
* - Implement drag ’n drop.
- Set hasFrame to a default value if it’s not set on the configuration.
- Emit an event to the parent wrapper component to update the ‘newDomainObject’ prop whenever the domain object is mutated in the display layout child component.
* Revert emitting 'update:object' event to the parent.
* 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
* 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;
* Fix styles that were affected during resolving conflicts
* Moved draggable into __label element rather than whole <li>
* Change the priority to 100 to get the view working properly
* Code cleanup
* Remove angular layout
* Display the object name in the frame header
* Tweaks to __header in LayoutFrame
- Name now does not overflow frame edge;
- Layout strategy now in parity with similar elements in main view;
* Remove test()
* Add a type for display layout to make it appear in the Create menu.
* Change the key type to 'layout'
* Clean up code and hide toolbar
* Enable toolbar, and revert changes in webpack config
* Remove commented code
* revert to the original code
* 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
* 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;
* Add copyright to .scss files; code cleanup
* Improved click area and draggable styling for tree-item
* Removed injection of domainObject
* Removed injection of domainObject
* Remove _constants-mobile.scss
- Moved used var to _constants;
- Normalize mobile detection approach in Layout.vue;
* Mobile styling for Time Conductor
- WIP!
* Mobile styling for Time Conductor
- New modalFullScreen mixin;
- Datepicker now a fullscreen modal element in body.phone;
* 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.
* 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
- Fixed sorting and filtering on non-string columns
- Fixed warnings about missing required prop and invalid default value in table rows
- Fixed error occuring when formatting non-existent column
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.
* dynamically generate create menu items, populate before mount
* make reviewer requested changes:
1.Use type.get to get type definition
2.Fix type adapter for creatable properties
3.populate menu items in data function, and inject openmct
* use simpler data name (item) and remove prefix string from key
* Object browse bar IN PROGRESS
* Object browse bar VERY WIP
* Object browse bar WIP
- view-control renamed to disclosure-triangle;
- Good progress on object browse bar elements;
* Object browse bar WIP
- Layout of start-side elements now working with ellipsis;
- TODO: cleanups and consolidation;
* Object browse bar shippable
- Better layout approach;
- Refinements to button classes;
* Sanding and shimming on misc styles
- Tree icon shrinkage fixed;
- c-icon-button much better relative sizing;
- Removed c-button-set wrapper from Layout.vue;
- Added uppercasing of Create button for Snow theme;
* working object name, css class
* working dynamic name, css classes and view switcher
* working entries... wip
* componentize entries
* embed ability with drag into entry
* snapshot action partial
* working search
* abstract EntryController, working search, drag and drop
* keep deleteEntry local to entryController
* working snapshotOverlay
* fix snapshot object
* abstract Embed Controller, working context menu, working remove embed
* working preview action in embed context menu
* add overlay header with timestamp
* working annotate and new entry contextual
* Remove old notebook
* use same key, remove extra style files
* working embeds
* fixed markup for snapshot overlay
- Allow 'editable' property on view providers to optionally be a function
- CSVExporter now only exports visible columns. Updated CSVExporter to ES6 exports / imports
- Shortcut sortedIndex in insert if value is outside of first or last value in collection
- Added table view icon
* Separate browse object from conductor
* Main layout convert to flex; padding and overflow at leaf node
* Inspector converted to BEM - WIP
- Properties pool upper level styles converted;
- Grid mixins moved out of Inspector and into _mixins;
* Refinements to misc elements
- user-select: none on tree;
- :before and :after reset globally to use box-sizing: border-box;
- li reset globally;
* Styling for buttons and menus; add Create button
- WIP
* Context and Create menus
- WIP
* Add glyph backgrounds as data URIs
- For Create menu, items grid;
- Objects only;
* Create menu refinements
- Min/max height handling;
- Code cleanup;
* Main layout head styling; various sanding
- head layout refined;
- c-icon-button, c-button-set added;
- background glyph mixin refined;
- Antialiasing refined to increase icon sharpness;
* Fix SVG data URLs: encode # chars as %23
* [Table] Use Vue SFCs
Use Vue SFCs. Use inject/provide to pass services to components
instead of wrapping components in closures.
* Convert CSS to BEM - WIP!
- All in progress;
- Headers table divorced from old;
- Sizing working properly at this point;
* Reset legacy file, undo unintended change commit
* Convert CSS to BEM - WIP!
- All in progress;
- Sizing table divorced from legacy;
* Convert CSS to BEM - WIP!
- All in progress;
- Table body divorced from legacy;
* Convert CSS to BEM - WIP!
- Near done, converted tabular-holder from legacy;
- Unit testing in main view and in Layout frames;
- Modded legacy CSS to properly hide control-bar with new naming
when in Layout frame;
* Convert CSS to BEM - done
- Cleanup and organization;
* Convert CSS to BEM
- Further code cleanup;
* Convert CSS to BEM
- Further code cleanup;
- Remove legacy table style imports;
commit 9b735b4f70bf4d21f64a1e418a5f9d7342567104
Author: Pete Richards <peter.l.richards@nasa.gov>
Date: Fri Aug 31 16:31:48 2018 -0700
Slight HTML tweak
commit 3e58e140f9ea3640e5551d5f43abf837610c6fb4
Author: Pete Richards <peter.l.richards@nasa.gov>
Date: Fri Aug 31 16:26:36 2018 -0700
[Inspector] Wire up elements pool
Elements pool wired up to show angular elements pool.
commit d9c60f31bd6d32a5d2e2227d5476edd81e2e4360
Author: Pete Richards <peter.l.richards@nasa.gov>
Date: Fri Aug 31 13:56:04 2018 -0700
[Inspector] vue inspector
Create a vue inspctor which responds to selection events and shows
object properties and inspector views.
* Reimplemented tables in Vue
* Updated table configuration to remove table namespace, and support column width in future.
* Fixed table configuration persistence
* Updated vue tables to use ES6 style function notation
* dont show error dialog when user moves an object from one location to another
* add test for not showing blocking message on remove action
Fixes#2141
* Move to webpack build
* Use webpack for building openmct. Move SCSS to one folder and load
all core css up front. Remove bower, begin removing gulp in favor
of npm run.
* Uses eslint instead of jshint and jscs. Merge style checking rules
into .eshintrc.js, carrying over core parts of crockford style and
our adaptations. Current code base fails to pass the linter, want
to separate linter changes from fixes to linting rules.
* Support for Vue SFC with example
* Remove outdated examples
* Use HTML loader for html (supports relative imports of resources e.g.
images) and raw-loader for when javascript must be loaded as text.
When a plot series is constructed, it checks to see if should set a
default interpolation based on the persisted configuration. However,
the persisted configuration wasn't available until after construction
which resulted in the default value always being set.
Pass the persisted configuration through the constructor to ensure the
plot series can make the right decision about defaults.
Fixes#2120.
When a new series is added to a plot, a plot series form controller
is instantiated and passed in a domain object via scope that it will
mutate upon changes. If a mutation results in a composition add, then
the plot series form controller needs to get a version of the domain
object with the updated composition array, which it was not previously
doing.
This fixes#2120.
Fixes#2132
- flex styles applied;
- CSS reorganized for better DRY;
- Set height on <tr> so that <td>'s won't collapse when
all cells of a row have empty values. This can occur when columns are
hidden in a Telemetry Table.
Bounds change triggers a clearing of plot history, which triggers
a user interaction change, which was triggering a second query.
This change sets a flag to prevent the requery from the user interaction on
bounds change. This flag could potentially be reused elsewhere, e.g. if we
wanted to prevent requery when not utilizing a minmax data source.
fixes#2126
* initial v2 config
t # This is a combination of 10 commits.
fix indent errs
fix indentations
run prepare manually
run prepare manually
remove indent
remove indent
remove indent
remove indent
remove indent
Misc
fix npm prepare
Install gulp
use gulp locally
use checkout
use old job
use old job
build-<test
build-<test
change
change
change
change
change
* add gulp as devdep
* local npm commands
* use node8
* cache bower components
* use npm to run checkstyle
* remove circlev1 config
* store artifacts
* clean up naming
fixes#1933
* first release of deprecated timeline
* Better deprecation message and use unknown icon class
* Update deprecated-timeline-message.html
Added a period to end of sentence.
* remove unused files, and commented code - If we need timeline again we can recover from git
* Provide link to tracker in deprecation message
* add and remove corrensponding class to capture better images (wip)
* pass class through exportAsPng and exportAsJpg directly
* pass classname from stacked plots into exportImageService
* Adding additional export styles
Fixes#2088
- WIP
* WIP export styles
Fixes#2080
- Styling WIP;
- Moved styles into plots-main.scss;
- Change to how plot hashes are rendered;
* add class before clone, because adding it on clone was not rendering new css styles
* Export styles
Fixes#2080
- Code indenting cleaned up;
- Additional styles for export;
- Added hide effects for .h-local-controls and unsynced state;
* Apply class to cloned element only
* [Plot] Allow 0 in plot y axis bounds
Allow 0 values in plot y axis bounds. Also properly re-do validation
when changing from a bad value to the previously used good value.
Fixes https://github.com/nasa/openmct/issues/2082
* [Plot] separate config index from composition index
Locate the configuration index by checking identifiers instead of
relying on order of composition to match order of configuration.
Ensures that editing a plot after reordering composition does not
edit wrong object.
Fixes https://github.com/nasa/openmct/issues/2101
* [Plot] refactor form controllers, separate concerns
Refactor form controllers to simplify the plot options inspector.
Individual plot models each have a form controller which handles
three way binding between the scope, model, and domain object configuration.
Added support to linkFields for dynamic object paths so that mutations
always find the right object in the configuration instead of breaking
when indices change.
* support deferred init for sub-object selection
* Style fixes
* Remove assignment to window
* Merge adapter bundles
Merge adapter bundles into consistent location.
Update telemetry API to not incorrectly expose the format service
on window.
* openmct available on window for developers
* remove offending comma
* snapshot - when taking a snapshot of overlay, select object-holder vs the entire overlay. This fixes plots not being captured
* remove new Notebook entry from context menu - fixes issue #2098
* add licence information for Painterro - fixes issue #2108
* add watch for defaultSort - fixes issue 2102
* dont allow snapshot action from imagery
* fix checkstyle error
Fixes#2103
- Added div that is set to the calculated table width. When
filtering is such that no rows are present in the tbody
of the table, this element will still force a horizontal
scroll in that area, allowing the user to horz scroll the headers;
* Use datum key of 'utc' for timestamp
* Do not try to get column values for data that does not have those values
* Collapse current time system columns
* Noop parsing for numbers in LocalTimeFormat
* Do not attempt to provide data for columns that object does not have telemetry for. Fixes#2027
* [API] Added Indicators API
* [Indicators] Converted Follow Indicator to new Indicators API
* [Indicators] Converted URL Indicator to new Indicators API
* [Indicators] Changes to some legacy indicators for compatibility with new Indicators API
* [Indicators] Addressed code review items from https://github.com/nasa/openmct/pull/1837
* Updated tests for URL Indicator
* Adding Indicator API spec
* Address linting issues
* Switched to direct DOM manipulation rather than template compilation to avoid an unnecessary extra holder element
* Updated documentation to reflect changes to API
* Indicators api styling (#2076)
Updated styling for Indicators
* Update API TOC
* Fix color of items w-mct-example areas of Style Guide
Fixes#1837
* Status class refactoring and cleanups
Fixes#1837
- Significant cleanups and name refactoring to allow more
concise selector definitions, with changes in js, html and scss files;
- Updates in Style Guide > Status page, with some content
reorganization and clarification;
* Corrected out of date API
* de-zeptoed Indicator API test spec
* Remove promise from URLIndicator
* Separated legacy indicators support
* Updated Indicator specs to Jasmine 3
* Fixed checkstyle and lint issues
* Moved legacy indicators support to adapter folder
* Various fixes for Indicators
Fixes#1837
- Added SASS constants for Indicator colors;
- Removed commented code;
- Removed unused indicator classes from _messages.scss
- Fixed missing s-status-on class;
* Significant revisions to Style Guide Indicators content
Fixes#1837
- Better documentation including recommendations;
- Better and more concrete examples;
* Style Guide example tweaks
Fixes#1837
* Refinement to Style Guide Status and Limits content
Fixes#1837
- More detail and clarification on Status and Limits;
* Cleanup code
Fixes#1837
- Remove commented styles;
- Line return refinements;
* Updated Karma and Jasmine versions
* Added DOMObserver class. Supports promise-based testing of DOM changes
Update asynchronous test specs to use promises or done() instead of waitsFor/runs
* Modified ActionCapability to duplicate context object properties as own properties for better object equality comparisons
* Global find + replace to fix syntax issues
* Fixed various issues caused by non-deterministic runtime order of tests in Jasmine 3. Fixed issues caused by changes to determination of object equality
* Addressed review comments
* Resolved merge conflicts with master
* Fixed style errors
* Use spy.calls.count() instead of manually tracking
* first revision
* [Frontend] Styling for sticky table headers
Fixes#1481
- WIP convert mct-table layout to use flex;
- TODO: fix flex layout when a small number of rows;
- Rename CSS classes used as selectors by JS;
* remove header height from calculations since it is outside in its own table now
* [Frontend] Styling for sticky table headers
Fixes#1481
- Fixed flex layout when a small number of rows;
- Refined input padding and dropshadow for more compactness;
* fix tests and verify tables works properly in layout and large view
* add mct-scroll to header table to allow scrolling in sync with the rest of mct-table
* Various fixes and polishing
Fixes#2071
- Fix headers height issue;
- Move inline styles to classes;
- First round fix for horz overflow due to scrollbar problem;
* WIP horz overflow
Fixes#2071
- Commented out CSS-based scrollbar with approach in
anticipation of better JS solution;
* Horz overflow/scrollbar problem fixed
Fixes#2071
- Added calcTableWidthPx to allow sizing-table to subtract
width of scrollbar;
* Remove commented code
* add clear icon back into filter text boxes
* Polishing on sticky table headers filtering
Fixes#1481Fixes#2071
- Now hides the magnify glass in table header filters when typing;
* removed unused file
[Plot] Properly update yAxis on key change.
yAxis should update after the key for a series changes.
Fixes#2025.
[Plot] improve y-axis label handling
First, change the y-Axis label retrieval to retrieve the proper
value from the plot confoguration so that it uses the persisted
value, Fixes#2024
Secondly, when removing a series, if there are no series left in
the plot and a custom y-axis label has not been specified, then
clear the y-axis label. Fixes#2014.
[Plot] don't use incorrect index in selected check
Alias the series form data so that it is not always necessary to
access it using $index. This prevents $index getting clobbered
when looping over select options which results in the correct option
getting marked as selected.
Fixes bug reported in pull request review:
https://github.com/nasa/openmct/pull/2026#pullrequestreview-117404172
* [Frontend] WIP New local-controls classes
Fixes#2000
- h-local-controls
- Markup in plots changed
- Changed reset plot button's icon
* [Frontend] WIP local-controls classes
Fixes#2000
- Refactoring to use and apply local-control classes consistently;
- Plots and imagery done in main view and Display Layout contexts;
* [Frontend] WIP local-controls classes
Fixes#2000
- Use local-control classes in Timelines;
- Group Timeline buttons in l-btn-set;
- Use reset icon glyph;
* [Frontend] WIP local-controls classes
Fixes#2000
- Slight increase in size to buttons in frame context;
* [Frontend] local-controls classes
Fixes#2000
- Code cleanup;
- Update Style Guide content;
- Provisionally done, needs unit testing and double-checking;
* [Frontend] Better selecting in browse mode
Fixes#2000
- Better colors and approach to selecting in browse mode;
* [Frontend] Tweaks to pane collapse mini-tabs
Fixes#1758Fixes#2000
- Enlarged mini-tabs and moved to screen top;
- Removed duplicative theme-based constants;
* [Frontend] Tweaks to "nav up" arrow button
Fixes#1758Fixes#2000
- Increased hit area of .l-back "nav up" arrow in object-browse-bar;
* [Frontend] Glyph improvements
Fixes#1758Fixes#2000
- New arrow glyph for view controls;
- Increased hit area of view controls in tree for mobile and desktop;
- Better "hamburger" menu glyph;
* [Frontend] Inspector refactor to CSS grid WIP
Fixes#1758Fixes#2000
- WIP!!!;
- Good progress on Properties section;
* [Frontend] Inspector refactor to CSS grid WIP
Fixes#2000
- Significant mods to CSS and markup;
- New grid archetypes classes;
- Added title attribs to plot options edit and browse props;
- Added value, alarm markers to plot series browse props;
- Nearly done (?) but needs unit testing and cleanups;
* [Frontend] Minor tweaks to form and form-row
Fixes#2000
- Fixing margin problem with .form-row;
- h2 instead of div.section-header;
* [Frontend] Fixed H2 in Elements pool
Fixes#2000
* Refinements to Time Conductor
Fixes#2000
- Tweaks size of fixed position grab ticks;
- Positioning refinements to ticks and text;
- Hide major tick marks;
* Hide View Large button for nested hidden-frame Layouts
Fixes#2000
- When a layout is nested and has its frame hidden, hide the
View Large button;
* Better hiding of Time Conductor "Submit" button
Fixes#2000
* Re-added new icon-arrow-right-equilateral glyph;
Fixes#2000Fixes#2078
* Remove commented styles/markup
Fixes#2000Fixes#2078
* Repaired approach to hiding Time Conductor Submit button
Fixes#2000Fixes#2078
- Renamed .off to .invisible and added refinements;
* Fixed wrong conflict resolutions; polish search
Fixes#2000Fixes#2078
- .invisible instead of .off in search.html;
- Minor polishing to search;
fixes#1758fixes#1763fixes#2011
* Refactoring export to json to use new style objects
* Added convenience function to Object API to get identifiers as strings
* Updated tests for ExportAsJSON
* Fixed bug with parent composition not being updated with new ID. Also rewrite IDs in configuration etc. Fixes#2042
* NASA - OPEN MCT NOTEBOOK UI PROTOTYPE CHALLENGE
https://www.topcoder.com/challenge-details/30059614/
Initial submission
* Code updates:
-Topcoder final fixes
-NASA review fixes
* drag and drop style fix, new entry focus, delete display fix
* NASA reported issues fixed:
objects saved in notebook, delete entry dialog, style files, and new entry from drag objects fixed.
* Annotation toolbar UI style fixes, added annotation functionality on new entry dialog
* painterro .map file issue fixed.
* NASA review fixes:
css files adjusted
notebook children tree removed
embed's title links to live object
* CouchDB documentation added
* CouchDB documentation added
Screenshots added.
* CouchDB setup documentation added
* Test case functional and cosmetic issues fixed.
* Test cases functional and cosmetic issues fixed.
* updated file saver library
* Code issues fixes:
NotificationLaunchIndicator deleted.
Inappropriate modifications to domain object models fixed.
Implemented $destroy listener on entryDnd directive.
Naming conventions fixed.
Unnecessary changes made to platform handled.
Painterro dependency handled
gulp verify fix.
* names and package fixes
* filenames fix
* [Notebook] Relocate to platform/features/notebook
* [Notebook] Remove obsolete README
* [Notebook] Restore original index.html
* [Notebook] Expose via openmct.plugins
* [Notebook] Remove demo entries
* [Notebook] Run gulp fixstyle
* [Notebook] Use dot notation instead of brackets
...for checkstyle
* [Notebook] Remove extra comma
* [Notebook] Run gulp fixstyle
* [Notebook] Use dot notation instead of brackets
...for checkstyle
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Run gulp fixstyle
* [Notebook] Include painterro for tests
* [Notebook] Fix require config for painterro
* [Merge] WIP markup and styling
Fixes#1896
- Very much WIP, currently having issues with
hovering and jiggling
* [Merge] WIP markup and styling
Fixes#1896
- Very much WIP, attempting to convert
textarea to contenteditable;
* [Merge] JS debugging
Fixes#1896
- Very much WIP!
* [Merge] JS debugging
Fixes#1896
- Really, really WIP
- DnD doesn't work properly, and drag to
existing entry no longer works.
* [Front-end] Notebook thematic styling; test console
Fixes#1896
- Added thematic styles and config;
- Really, really, really WIP!!
- DnD doesn't work properly, and drag to
existing entry no longer works.
* [Merge] Cleanups in JS
Fixes#1896
- Removed and commented out logging statements
* [Merge] WIP SCSS and markup polishing
Fixes#1896
- Significant style and markup changes;
- Styles, layout, etc. relating to embed elements;
- Fixes in both notebook.html and embedControl.html;
- Class name normalization;
* [Merge] WIP Mods related to MCTModalNotebook.js
Fixes#1896Fixes#1906
* fix drag and drop, delete entries
* [Front-end] Refined styling of entry embeds
Fixes#1896
* [Merge] Generalized hover hide/show of local controls
Fixes#1896
* [Merge] Generalized labeled icon-* elements
Fixes#1896
* [Frontend] CSS normalizing, apply general styles in markup
Fixes#1896
- Notebook class names more individualized;
- Apply .labeled and .has-local-controls general classes;
- Apply .s-input-inline to contenteditable div;
- Look and feel cleanups for drag area and entry elements;
* added modifiedOn time for entries that are changed, and fixed issue regarding inner text being filled when new entry button clicked
* [Frontend] CSS sanding and cleanups
Fixes#1896
- Removing unused classes;
- Finessed margin and padding;
* [Frontend] Mobile styling
Fixes#1896
- Mod .has-local-controls to not apply when in touch context
* [Frontend] WIP Mobile styling
Fixes#1896
- phone portrait entry layout optimization
* fix expand in layout, which was causing snapshot at expand
* [Frontend] Fixes to search control
Fixes#1896
- Search control now more robust, added
.search-filter-by-type class selector;
* [Frontend] Fix custom Selects
Fixes#1896
- Custom Selects now much more
solid, handle width compression better;
* remove duplicate code from MCTModalNotebook and roll changes into MCTTriggerModal
* [Frontend] WIP Mobile styling
Fixes#1896
- Fixed general approach to portrait orientation in
mobile/_layout.scss to use media query;
- Fixed portrait layout in _notebook_base.scss
to use media query;
* prevent multiple new notebook entry divs from being created on open overlay, instead create on initialization
* [Frontend] WIP Snapshot styling
Fixes#1896
- Better class names;
- Moved buttons in frame layout;
* remove frame layout duplicate and use frame.html
* fix issue of preserving line breaks when text is received from a persisted source
* add comments, clean out some code, and fix broken tests
* fix export image after merging with master
* include painterro in karma config
* Inlined templates for notebook
* disable view policy - to allow layouts to function - needs more investigation
* fix layout display overload, remove viewpolicy and notebookLayout.html. Fix delete error - issues found when deploying for testathon
* fix (not being able to focus on content editable div to add text, while in layout)
- when in layout, the first child of the outermost div is the only one that registers a click, this was causing an issue of not being able to edit notebook entries. My fix includes finding the first child of the div that registers the click and forcing a focus event.
* fix focus one new entry issue, cleanup of code related to finding elements, and write more reusable code
* abstract findElementById for reusability and improve performance from O^2 to O
* user findElementById in entrydnd
* change snapshot library to dom-to-image
* [Frontend] WIP Snapshot styling
Fixes#1896Fixes#1947
- Significant markup changes to template in ViewSnaphot.js
- WIP!!! Keeping own topic branch for now
* [Frontend] WIP Snapshot styling
Fixes#1896Fixes#1947
- Significant markup changes to ViewSnaphot.js;
- Change in imagery.scss to move non-layout styling
to appropriate class;
* Removed snapshot from version number to close sprint eagle
* Updated version number for Enterprise release
* Lock filesaver version (#1956)
Lock filesaver version as there have been a large number of broken
builds from what should be non-breaking version increases.
Fixes currently broken build.
* [Frontend] Snapshot styling
Fixes#1896Fixes#1947
- Final tweaks after rebase from
notebook-integration-deep-styling
* fixes issue of overlay not closing when context menu item in clicked when viewing snapshot
* [Frontend] Painterro styling
Fixes#1896Fixes#1947
- WIP
- Painterro styling overrides and config
- Removed commented code
* [Frontend] Painterro styling
Fixes#1896Fixes#1947
- WIP
- Painterro styling overrides and config
* fixes issue of overlay not closing when context menu item in clicked when viewing snapshot
* specify require paths for new library
* [Frontend] Local controls CSS added for hide/show of trash can icons
Fixes#1896Fixes#1947
- Also updated frame.scss to use same transition timing
* proper shimming
* dragging objects to notebook now only creates a link, clicking on snapshot from object view takes a snapshot of the current view, without re-rendering
* [Frontend] Local controls CSS added for hide/show of trash can icons
Fixes#1896Fixes#1947
- Also updated frame.scss to use same transition timing
* select correct div for snapshot
* [Frontend] Adding background color to snapshot
Fixes#1896Fixes#1947
* remove snapshot class after async image render
* [Frontend] Adding background color to snapshot
Fixes#1896Fixes#1947
* remove snapshot button from frames in layout
* remove snapshot from frame view, add it only to overlay, change mctSnapShot to accomodate taking snaps of overlay/object view
* add preview action, working, need styling for notebook action on preview
* fix checkstyle
* change glyph for preview, use similar tempalte to frame.html
* dont allow preview action on objects getting edited currently
* changes to browseController and NavigationService to block navigation and show preview of object when trying to navigate to object in tree in edit mode
* [Frontend] Painterro styling and config
Fixes#1896Fixes#1947
- Changes mainly related to toolbar styling and labels
* [Frontend] Notebook/Preview related sanding and polishing
Fixes#1947
- Changed description for notebook-new-entry
* [Frontend] Notebook/Preview related sanding and polishing
Fixes#1947
- Added new global "hide-in-t-main-view" class;
- Apply new class to Preview action to suppress
display of that button in main view of navigated object;
* code cleanup
* [Frontend] Notebook/Preview related sanding and polishing
Fixes#1947
- Classes for Notebook Entry button spacing;
* abstract overlay into a service/api - to reduce code duplication
catch error produced by painterro because of async div creation by dialog service
* fix broken mcttriggermodal tests
* fix checkstyle and lint
* add functionality of being able to add buttons to the browse bar element of overlay when instantiating the overlay service
* Reduce frequency of template recompilation in mct-include
* Use updated painterro library. Fixes#1981
* add save flag and call done in both cases (clicking on cancel or ok)
* fixes#1951
persist modified empty entry on blur
* Bump Node Version
* fix checkstyle
* fixes issue where annotating snapshot that is already saved in notebook does not work
* fix painterro button styling issue
move jquery logic inside timeout block, because buttons are asynchronously created
* remove description required when saving snapshot to notebook
* remove create snapshot action from embeds, and add preview action to embeds
* fixes edge case for issue #1981
Add a reject callback in the edgecase that user presses the x icon or esc key to cancel annotation, which was leading to the drag drop issue
* Add default sort options on creation menu of Notebook
* fix auto focus on new entry when in oldest first order, both in layout and regular view
* [Frontend] Notebook mobile mods
- Hide entry area when mobile;
- Disallow entry edit or delete in mobile;
* fixes issue 2041 (#2049)
* fixes issue 2041
allows user to select caret position in notebook entries while in layout
* [Frontend] Restore class, refine selector
Fixes#2041Fixes#2049
- Restored .s-input-inline to editable field;
- Refined pointer-events: none to properly target .title-label only;
* remove unused files/code and smoke test
* remove , add pre-wrap to css and use inner text
* make reviewer requested changes 'in progress still'
* make reviewer requested changes 'continued'
* replace html2canvas with dom-to-image
- add in progress dialog to export image service
- add error dialog to export image service
* Search UI refactored to use flex
Fixes#1947
- Fixes broken search inputs in main search and Notebook;
- Significant rewrite to search SCSS and markup;
* Fixes for Notebook custom selects; polishes to search
Fixes#1947
- Better flex styles for custom selects;
- Refinements to search styling;
- Much better mobile responsive layout for search and controls
in portrait layout;
* fix preview action for embeds, which was showing current domain object vs selected domain object
* Fixed hidden search dropdown menu
Fixes#1947
* Revert whitespace change
Revert change to whitespace in index.html. #1947.
* [Export] Use html2canvas
Use html2canvas instead of dom-to-image. Fixes issues with text
exports. html2canvas is better supported and under active
development and is a better choice for this library. Cleaned up
export code, ensure that images are properly saved as the correct
types.
related to feedback on #1947
* Don't show brackets when timestamp is not specified (#331)
* [API] Implement a toolbar registry and a plugin to allow providing a toolbar for a selected object.
* Modify the mct-toolbar directive to get the toolbar structure from a provider based on selection.
* Implements the layout toolbar in the layout bundle
* [Folder] List view load fix
-List view data takes long time to display, has to do with Angular not triggering its digestive cycle when switching views
-Resolved issue by explicitly triggering the digestive cycle
-Fixes issue #2067
* Added comment to clarify code addition
fix#2069
* Build columns from union of telemetry value metadata. Do not manually clean up scope. Fixes#2027. Fixes#1884. Fixes#1817.
* Fixed tests that are failing on circle-ci
* Inlined getMetadataValues function
* [Notifications] Added timestamp and object name to copy notifications \n
-Fixes issue #331
-Added timestamps to all notifications
-Added object name to copy success notification
-Updated placement and style of notification timestamp as discussed with Charles.
* [Frontend] Viewport metatag updated
Fixes#2008
- Added shrink-to-fit=no;
* [Frontend] Fix to Time Conductor for Safari
Fixes#2008
- CSS mod for gradient blockers in TC
* [Frontend] Remove data visualization element in TC
Fixes#2008
- Note: this element holds the TOI indicator!
* [Frontend] Hide TC ticks when on mobile
Fixes#2008
- Added class `mobile-hide` to <conductor-axis>
* [Frontend] Significant mobile fixes for panes and viewport
Fixes#2008Fixes#1770Fixes#1928
- Left and right panes now positioning properly in mobile;
- Fixed body overflow problem for #2008 "viewport" issue;
* fixes multiple issues related to 2008
context menu firing too often - fixed by setting a isDragging flag
Add and Remove respective classes on mobile orientation change by using mathMedia
Close tree pane when navigating in mobile portrait only
* [Frontend] Various
Fixes#2008
- Always show Timeline zoom controls;
- Prevent inline editing of object names in the main view when in
mobile;
* Add touch functionality to mct-drag
it allows users to use the splitter in mobile
and include appropriate tests
* remove couchdb and reinstall localStorage
* [Frontend] Mods to imagery CSS
Fixes#2008
- Reduced size of image thumbnails;
- Changed min-heights of image and thumbnail
holders for .mobile.phone
* [Frontend] Add Advanced CSS property to Display Layouts
- WIP!
- Add property to bundle;
- Add CSS for column, row and fit-all classes;
* [Frontend] Grid holder and class prefixing
- WIP!
- Edit grid-holder set to position: absolute
- Added "fl-" prefix to fluid layout class names;
* [Frontend] More CSS tweaks
- WIP!
* [Frontend] Added .drag-vertical
- For use in Elements pool;
- Applied in elements.html;
* fix: check if stats is present before reseting zoom (#2029)
* [Timer] Fix regression in timer visual indication and add tests
* [TimeConductor] Fixes Issue #925 (#2020)
* [TimeConductor] Fixes Issue #925`
- Pressing enter in date field will update bounds properly in Safari
* [Copyright] Update copyright year across platform code references
Fixes#2034.
* fixes issue #1999 - Use Object name as default export filename (#2001)
* fixes issue #1999
add dynamic name(object name) to exportAsCSV filename
* make requested changes
* [Frontend] Add Advanced CSS property to Display Layouts
- WIP!
- Add property to bundle;
- Add CSS for column, row and fit-all classes;
* [Frontend] Grid holder and class prefixing
- WIP!
- Edit grid-holder set to position: absolute
- Added "fl-" prefix to fluid layout class names;
* [Frontend] More CSS tweaks
- WIP!
* [Frontend] Added .drag-vertical
- For use in Elements pool;
- Applied in elements.html;
* [Frontend] More CSS tweaks
- WIP!
- Added .fl-phone-best-fit
* working drag and switch, need to mutate
* fix conflict
* add ability to rearrange composition using drag gestures
* add maxHeight and maxWidth to layout frames
* [Frontend] Added fl-mobile-best-fit
* [Frontend] Allow editor to set mins dimensions for fluid layout
- Cleanups in CSS;
- Mod to LayoutController.js to use minWidth and minHeight;
* [Frontend] Styles for reordering in Elements pool
- Changed class "dragging" to "reordering";
- Visual styling WIP;
- TODO: style "reorder-actor" when implemented;
* add reorder-actor class to draggable item in elements pool when selected and remove class when dropped
* stacked plots reload on composition change
* [Frontend] Tweaks to Elements pool reordering styles
- "reorder-actor" added/removed from parent tree item;
- Refined styling for drag in process in list;
* [Frontend] Added new 12px list view glyph
- Font files and CSS updates;
* [Frontend] Added new 12px grippy glyph
- Font files and CSS updates for Elements pool sorting styling;
* fix failing test
* make reviewer requested changes
* remove create dialog from mobile
Fixes#2008
* Viewport metatag updated
* Fix to Time Conductor for Safari
* Remove data visualization element in TC
* Hide TC ticks when on mobile
* Add touch functionality to mct-drag
* Reduced size of image thumbnails; Changed min-heights of image and thumbnail
holders for .mobile.phone
* remove create dialog from mobile
Users must draw a marquee box with diagonal size of atleast 7.5
pixels. This prevents clicks from being translated to zooms on
the plot. Because startMarquee triggers a plot history update.
endMarquee must remove the plot history update when preventing
marqueeZoom. This has a side effect of causing a requery for
data, but is a simple enough solution for now.
Fixes#2002.
* State generator realtime uses strings
Change the state generator's realtime data to return string values
instead of number values. This exercises an edge case where
enumerations could be a string instead of a number. Exposes #2018.
* [Telemetry] handle string enumeration value
Don't treat all strings as properly formatted enumeration values.
Instead, check any input value against known enumerations and if
one matches, return it. Otherwise, return input.
Fixes#2018
* Summary Widgets produce telemetry
Adds a summary widget telemetry provider and metadata provider to
the summary widget plugin. Supports subscribing to realtime
summary widget evaluations without needing the summary widget UI.
Fixes https://github.com/nasa/openmct/issues/1893
* Use metadata to determine telemetry types
Update summary widgets to use metadata to determine telemetry types.
fixes https://github.com/nasa/openmct/issues/1801
fixes https://github.com/nasa/openmct/issues/1883
* shared evaluators, more telemetry values
Share summary widget evaluators to reduce number of times a object
needs to be loaded when dealing with multiple queries.
Fixes https://github.com/nasa/openmct/issues/1893
* Separate view for editing
fixes https://github.com/nasa/openmct/issues/1827
* Update summary widget tests
* Workaround incorrect telemetry capability application
In the case where an object support telemetry but does not support
the specific type of telemetry request i.e. a summary widget has
request for lad but not for historical, an error will be thrown.
* use makeKeyString
use makeKeyString when storing configuration of objects in summary
widgets. Otherwise, namespace information would not be properly
tracked. Fixes https://github.com/nasa/openmct/issues/1949
* [Tests] coverage for EvaluatorPool
Add tests for EvaluatorPool and fix a bug where the same evaluator
was returned for different objects.
* Add copyright headers
* Update metadata provider registration
* attach title to a element
* Only evaluate realtime when all data available
* Prevent update after destroy
* Don't error when no telemetry exists
* Don't mutate on view destroy
Improper removal of listeners was triggering a mutation on view
destroy, which happens after the initial persist call to server
that occurs when saving. This mutation occurs after the edit
transaction has been closed, which would result in an immediate
persist call. This can cause a race condition when the first
persist call has not completed, which causes a 409 conflict and
a persistence error.
Fix#1827
* Spec for telemetryProvider
* update on time system change
Summary Widgets now resubscribe and requery for data when time
system changes, in order to ensure they're showing the correct
data to the user.
* link to telemetry request details
* rename variables, update jsdoc
Addresses comments in https://github.com/nasa/openmct/pull/1943
* [Frontend] Refactor SCSS to remove deprecated @includes
Fixes#1891
- In progress
* [Frontend] Refactor SCSS to remove deprecated @includes
Fixes#1891
Making bourbon happy by refactoring to-be-deprecated
calls to prefixing @includes:
- transform and related CSS;
- flex and related CSS;
- Fixed double semi-colons to single;
* force update to latest image when history is received
* force update to latest history image on response received
* remove console log"
* change requestLAD function to last item in array, in case response is an array with more than one item
* fix checkstyle
* remove requestLAD because its requesting history twice in cases where server does not have latest flag
* [Toolbar] set selection initially in fixed controller and toolbar...
... to make the add button appear in the toolbar when a fixed position is created.
Remove selection change listener on destroy.
Start a digest cycle when handling selection in toolbar to avoid delays in toolbar.
Fixes#1991, #1987
* fixed checkstyle and lint errors
* Fix tests
* Update comment
When webgl contexts are lost, fallback to 2d rendering context.
Because it's not possible for a canvas to generate a different
context after one has already been created, the canvas elements
must be recreated from scratch, and event handlers must also be
updated.
This resolves https://github.com/nasa/openmct/issues/1976
Plot waits for element to have width before loading. Otherwise,
it may make a minmax request with an invalid size parameter.
Fixes https://github.com/nasa/openmct/issues/1974
* [Testing] Create unit tests for Tests API
* [Documentation] Fix spelling in TypeRegistry.js
* update TypeRegistrySpec to conform to code review
use .get() on typeRegistryInstance
Fixes#1514
Pin to specific d3 major/minor versions while allowing new
patches. Previously, we were pinned to major versions only, and
minor versions contained changes to the distributed files which
would result in broken builds.
This should hopefully prevent broken builds from dependency updates.
* [API] Support dynamic telemetry metadata
Add support for dynamic telemetry metadata via custom telemetry
metadata providers.
The metadata provider API should be considered unstable in it's
current invocation.
* Perform deprecation checking at runtime
* SWG uses telemetry metadata provider
* Don't throw with no matched metadata provider
* Update API docs
* Add license header
* Combine metadata providers with general telemetry providers
* Replace `TelemetryAPI.canProvideTelemetry` with
`TelemetryAPI.isTelemetryObject`.
* CanProvideTelemetry is deprecated
* Change SWG inputs to numberfield
Lock filesaver version as there have been a large number of broken
builds from what should be non-breaking version increases.
Fixes currently broken build.
* [Plugin] Add static root plugin
Add StaticRootPlugin, which allows a file exported with the ImportExport
plugin to be mounted as a static root in Open MCT. Allows deployers
to configure standard displays for deployments by exporting displays they
have already created.
* Include all src files
* Fixes#1938
Fixed usage of Telemetry API, use hints to get valueMetadata, use valueMetadata to get formatter
* dont circumvent chooseTelemetryKeyToDisplay, which was causing a regression when imagery is added to fp
* fix broken tests
* pass valueMetaData to limitEvaluator.evaluate, rename #chooseTelemetryKeyToDisplay to getValueMetadata, to reflect what is returned.
update tests
* change getValueMetadata to chooseValueMetadataToDisplay
Merge of new plot
* Introduces new Plot object and view
* Removes Old Plot
* Add LAD support and state type to generators
* Removes Telemetry Panel Type
* Telemetry API Updates
* UTCFormat.parse: passthrough numbers
* TelemetryAPI: default request arguments
* TelemetryAPI: fix enum formatting
* Markup and styling to support new plots
All views are expected to implement dynamic composition handling
by listening for the "add" and "remove" events and then calling
"collection.load()" when they are ready to handle these events.
However, it does not make sense that every composition provider will
be dynamic, so implementing support for dynamic composition should
not be a requirement. This commit removes that requirement.
Fixes#1914
* Defaulted background option to white for PNG/JPG export
* Attempt at fixing background colour on image output
* Reverted build location change
* WIP for white background
* WIP for white background
* Updating default colour, including saving of existing colour to restore appropriately
* Fix tests and move css change background outside the try block
* keep consistent with american english
* add method to change background color and test wether it has been called with the right params
* change color to original when save fails
Fixes#1422
add offsetX to popupService instance in infoService, to prevent bubble from appearing under the mouse pointer, which causes interminent calls to the callback.
Update the insertion point check with shortcutting behavior
for appending / prepending objects, which is the common case
for sorted inserts on initial table load (when large numbers of
records are inserted). This allows O(1) performance for the
common case while maintaining O(log n) performance for the edge
case.
Only enable datum dupe checking in collection after data
has been received. This works under the assumption that a
single telemetry request will not contain duplicate elements,
thus, it is not necessary to check for dupes on the initial
request.
Improves performance when rows are sorted by a column
that has duplicate row-values.
Updates to sub object selection, first cut of selection APIs.
* [API] Add inspector view registry to register inspector view providers and show a view in the inspector.
[API] Modify the selection API to register the click event and handle the event. The API will add a class to the selected object and the immediate parent of the selected object.
[Directive] Implemenet mct-selectable directive for making an element selectable.
[Layout] Update the layout controller to use the Selection API. Also, add double click gesture to allow drilling into a selected object.
Populate the Elements pool with contained elements of the selected object. Update toolbar and inspector to listen for the changes in selection.
* [Frontend] Mods to markup and CSS for sub-object selection
* MCTSelectable allows selection in initialization, use to select on navigation
[Frontend] Show grid in first nested layout, hide from deeper nesting. Only show grids when applicable to relative selection.
* Fix checkstyle and lint errors
* Bring back the change that made mct-init-select work
* [Inspector] Make sure the right content is displayed based on whether a view provider exists or not.
* Only show table options when editing
* Make reviewers' requested changes
* Fix broken tests
* [Frontend] Cleanups and tweaks
Fixes#1811
- Cleanups between frame, editor and selecting.scss;
- Hover and selected borders visually pumped up a bit;
- Solid borders on hover and selecting when browsing;
- Dashed borders for layouts when editing;
- Fixed cursor to only show move capability when
element is selected;
* [Frontend] Tweaks to frame.no-frame layout
Fixes#1811
- Margin set to 0;
- Overflow set to hidden;
* [Frontend] Fixed position items border width fixed
Fixes#1811
- Set to 1px;
* Add tests for inspector controller and fix broken tests. Clean up code.
* [Fixed Position] Stop event propagation on click handlers in fixed position to avoid the event reaching the selection click handlers which caused issues with toolbar and selection."
* Fix tests
* Add tests
* Add test
* Remove element from document
Rewrite Autoflow tabular using Vue and all new telemetry APIs. Also adds LAD support to autoflow tabular.
* [Autoflow] Add Vue dependency
...to begin refactor away from Angular, #1810
* [Autoflow] Add Vue to require config
...to support usage in refactoring Autoflow Tabular view.
* [Autoflow] Sketch in new plugin registration
* [Autoflow] Bring over template, without Angular
* [Autoflow] Add license headers
* [Autoflow] Add VueView
...to simplify addition of Vue-based views.
* [Autoflow] Add Vue bindings to template
* [Autoflow] Sketch in AutoflowTabularView
* [Autoflow] Include title for row names
* [Autoflow] Begin adding controller
* [Autoflow] Sketch in controller functionality
* [Autoflow] Support object filtering
* [Autoflow] Unlisten from controller on destroy
* [Autoflow] Track rows on an interval
* [Autoflow] Support column width changes
* [Autoflow] Expose new plugin through openmct.plugins
* [Autoflow] Fix run-time errors instantiating view
* [Autoflow] Fix row generation error
* [Autoflow] Fix row formatting
* [Autoflow] Utilize width
* [Autoflow] Update autoflow view when filter changes
* [Autoflow] Enable autoflow for telemetry panels
...in developer environment.
* [Autoflow] Bind data-value for rows
* [Autoflow] Include limit evaluations
* [Autoflow] Rename property rows to rowCount
* [Autoflow] Retain rows during update
* [Autoflow] Add bindings to clear autoflow filter
* [Autoflow] Show updated timestamp
* [Autoflow] Remove obsolete plugin
* [Autoflow] Load vue for tests
* [Autoflow] Begin adding spec for autoflow tabular plugin
* [Autoflow] Test plugin registration
* [Autoflow] Begin spec for AutoflowTabularView
* [Autoflow] Obey contract from VueView.show
...by populating a container, instead of replacing it.
* [Autoflow] Begin testing behavior
* [Autoflow] Get initial row heights
* [Autoflow] Verify unsubscription on destroy
* [Autoflow] Test column width button
* [Autoflow] Simplify controller activation/destruction
* [Autoflow] Verify data display
* [Autoflow] Test limit display
* [Autoflow] Fully initialize controller
* [Autoflow] Add missing semicolon
* [Autoflow] Separate out constants
...to access them from tests
* [Autoflow] Use constants from spec
* [Autoflow] Test autoflow behavior
* [Autoflow] Refactor test case
...to support tests for composition changes
* [Autoflow] Add test cases for composition change
* [Autoflow] Handle composition changes
* [Autoflow] Sketch in row controller
https://github.com/nasa/openmct/pull/1816/files#r153015544
* [Autoflow] Integrate row controller
https://github.com/nasa/openmct/pull/1816#pullrequestreview-79305103
* [Autoflow] Add tests for historical request
* [Autoflow] Request historical telemetry
* [Autoflow] Remove unused active flag
* [Autoflow] Clarify row destruction
...to avoid problems with binding destroy
* [Autoflow] Fix mistake in test
* [Autoflow] Simplify waiting for view updates in test
* [Autoflow] Move filtering, autoflow to view
* [Autoflow] Remove unused caching
* [Autoflow] Remove obsolete method reference
* [Autoflow] Fix lint errors
Add missing semicolon, remove unused vars
* [Autoflow] Refactor test to simplify emitting events
* [Autoflow] Emit add events during load for testing
...to simulate the actual behavior of this method.
* [Autoflow] Provide composition in mock
...to allow constructor-time usage of dependency from controller
* [Autoflow] Avoid intermittent errors
...by checking to see if tabularArea is available before
accessing its clientHeight; depending on the timing of
setInterval versus Vue's mount event, it may not be!
* [Autoflow] Use add/remove composition events from controller
...exclusively, instead of attempting to load again and triggering
an infiniute loop each time.
* [Autoflow] Test that composition does not reload
* [Autoflow] Expect identifiers for remove events
* [Autoflow] Simplify row-matching test
* [Autoflow] Combine down to a single integration test
* [Autoflow] Remove possible test race condition
* [Autoflow] Add JSDoc
* [Autoflow] Remove excess test case
...which is no longer needed after combining behavioral tests for
view into a single spec.
* [Autoflow] Remove unused destroy call
https://github.com/nasa/openmct/pull/1816/files#r154787335
* [Autoflow] Use requestAnimationFrame in tests
...to avoid brittle change detection.
https://github.com/nasa/openmct/pull/1816/files#r154785549
* [Autoflow] Use MCT instance for spies
...such that test case becomes sensitive to API changes in MCT.
* [ViewAPI] Update view API with more support
Update view provider to allow metadata definitions and to play
nicely with old style views.
Spec out some updates to ViewProviders and ViewRegistry to
support further use of views.
* [Summary Widgets] Add summary widgets
Add a summary widget domain object type
Implement basic interface and style configuration for rules
* [Summary Widgets] Implementation for Rules
Add rule configuration inputs, populated with domain objects, metadata,
and appropriate operations for a given type
* [Inputs] Add implementation for icon palette
Issue #1644
Wire up icon palette inputs to widget, and make icon class a persistable
property of a rule
* [Summary Widgets] Implementation for conditions
Support configuring and persisting multiple conditions per rule
Issue #1644
* [Summary Widgets] Generate Rule Descriptions
Dynamically update the rule description based on the current state
of the rules' conditions
* [Summary Widgets] 'Any/All Telemetry' in conditions
Add UI and implemenetion for evaluating any telemetry or all telemetry
in an individual condition. Add related unit tests.
* [Summary Widgets] Rule Reorders
Implement drag and drop rule reorders using the native HTML5 API
* [Summary Widget] Test Data
Issue #1644
Add user-configurable mock data to test rules. Modify evaluator to
gracefully handle uninitialzed test data points.
* [Summary Widgets] Edit Mode
Enable edit mode for summary widgets, and make configuration interface
visible only when the user has entered edit mode
Fix collision between widget palettes and other interfaces where
palettes would permanently hide other menus
* [Summary Widgets] UI for scripted conditions
* [Sumamry Widgets] Destroy
Implement destroy
* [Summary Widgets] Cleanup
Remove unnecessary persist calls in Rule.js.
Remove generateDescription from refreshConditions and add it after refreshConditions to initCondition and deleteCondition
Throw error when unsupported callback is passed in condition.js, return summary widget instance in plugin.js instead of wrapping in new object for view
Add request properties to telemetry request for providers that support it
Remove check for editing when persisting, in SummaryWidget.js
Adds URLIndicator to the build, testable adding
`openmct.install(new openmct.plugins.URLIndicatorPlugin({
url: 'http://localhost:8080/',
icon: 'check',
interval: 15000,
label: 'Localhost'
}))`
to the openmct file. Also added Documentation about the plugin.
* [imagery] fix for issue #1799
if there is no immediately new imagery incoming, forward to latest image in history on un-pause
* add test to check whether image is forwarded to latest image on un-pause
prevent EditorCapability#finish from calling transactionservice#cancel when transactionService was not active - leading to console error everytime user would leave edit mode
Add tests for changes made and also to check for return type in either case (isActive or not)
Update Object API such that get supports calls with either a keystring or an
identifier.
As save and delete are not implemented and have different calling signatures,
implement them as separate methods so they can be documented separately.
* [List] Use standard format for modified/persisted times
This provides consistency with other times and dates in the user interface,
and also provides a meaningful sort order due to the use of ISO formats for
standard date/time presentation. Fixes#1730.
* Remove unused dependency
Clear regions when a view is destroyed. This causes a view's
destroy method to be correctly invoked, allowing views to do
cleanup. Used by NSS heatmap view for sprint Alice,
https://github.com/nasa/openmct/projects/1
Remove the line break that is added when the return key is pressed.
Check the current target directly.
Use textContent for inline editing instead of innerHTML, which will hoist up some HTML content implicitly created around user input for a contenteditable span.
Note that there is a removeAllRanges in addition to a blur here; see
https://stackoverflow.com/questions/4878713/how-can-i-blur-a-div-where-contenteditable-true
Fix broken tests.
Fixes#1757
Made the contenteditable attribute conditional based on whether the object can be edited or not. If the object is not editable, the attribute is removed.
Add Tests.
Fixes#1746
Fixes#1729
Internal markup and CSS now sets heights
internally - menu height will now not be smaller
than the list of menu items OR the description
area;
* [Plot] Check for telemetry panels
...from plot view policy, and don't try to interrogate them
for telemetry metadata that they will not have.
Fixes#1728
* [Plot] Update test case for policy
...to provide an adapted object with expected properties
* [Plot] Add tests to very plot policy for panels
...to verify fix for #1728
* [Build] Preserve comments instead of adding header
...to avoid disrupting sourcemaps. Fixes#1707
[Build] Remove extraneous horizontal rule from header
[Build] Remove obsolete header-handling
...as this is handled by the replace task after fix for #1707
[Build] Move version headers into start.frag
...so that UMD boilerplate does not wrap it.
[Build] Handle version info entirely in start.frag
[Build] Replace build variables in start.frag explicitly
[Build] Inject build info dynamically
[Build] Test MCT.specifyBuildInfo
[Build] Mark BUILD_CONSTANTS as global for jshint
[Build] Give names to version line items
[Build] Fix specifyBuildInfo test case
* [Build] Update fix to sourcemaps for code review feedback
https://github.com/nasa/openmct/pull/1708
[Build] Move build info registration to plugin
https://github.com/nasa/openmct/pull/1708#discussion_r138999027
[Build] Use build info plugin
...instead of specifyBuildInfo
[Build] Revert changes to MCT, per code review
Update policy to detect any range. As a simple way to prevent
detecting messages, it will not apply when every range is a string
format.
fixes https://github.com/nasa/openmct/issues/1713
Add history imagery under large imagery view.
Allow users to click on history imagery thumbs to set main image and pause the imagery view.
Allow users to unpause and continue imagery stream.
Users can adjust the height of the imagery panes, and the user selected height is persisted.
Added context actions for importing and exporting JSON representations of domain objects. Added FileInputService for triggering file picker and retrieving uploaded data. Also added a File Input form control for integration with MCTForms.
Added ability to show/hide object frames via a toggle button in the
edit toolbar. All objects have frames by default except for ‘hyperlinks’.
Also, implemented object selection in the layout and added tests for new features.
Fixes#1658.
Fixes#1677
Refactor and re-organize alert and status colors;
Rename _limits.scss to _status.scss;
Style Guide additions in progress;
VERY WIP, NEEDS UNIT TESTING FOR REGRESSION.
New Tab automatically appends hideTree and hideInspector params to hide those panes by default
Add appropriate tests for new functionality and fix broken tests
Fixes#1677
Removed `<tr>` support; modded existing styles to allow
color-only application for red and yellow limits; added
`*-icon` classes for red and yellow limits;
Fix to Issue #1646
Persist MCTSplitPane widths to local storage, thus when user reloads, the Panes maintain dimensions
Use persisted widths if available otherwise use default
Add tests for localStorage and fix failing tests
Update example telemetry providers to limit the number of
datums generated so that queries for long time ranges will
not cause undesired behavior in demos.
When loading the application and no time system is set,
the url handler should not cause multiple errors to be
logged.
This adds a test for the case but does not specify the
expected behavior in detail, other than "it should not
crash."
Fixes bugs as reported here.
The telemetry API detects when a subscription has already been made for a
given domain object and does not subscribe for that object a second time.
Removes a concern from those developing telemetry providers.
Also ensures that telemetry providers ALWAYS get request options, even if
no request options were provided.
Adds basic tests for the Telemetry API to validate this behavior.
Fixes https://github.com/nasa/openmct/issues/1594
Update the telemetry adapter to gracefully handle cases where
a range value is not found via hints. This allows telemetry objects
that don't have ranges to still work with some old style displays
When browse controller is hijacking a browser navigation event,
it calls preventDefault on the route change. This has the effect
of preventing all changes in the location (including search changes).
This change checks if other changes were made in the route change and
re-applies them after the navigation has completed.
Fixes a bug where navigating via a link that contained additional
search paramterers would have the effect of navigating but not
keeping the parameters in tact.
Discovered in the course of fixing #1636
Update time conductor so that it triggers changes when the user
selects them instead of when the scope is updated. Prevents spurious
changes from being triggered by the conductor when it updates
in response to a time API change.
Fixes#1636.
Implemented auto-scrolling historical imagery view in ImageryController. Imagery domain objects now request historical data on each manual bounds change. Added new specs for ensuring that historical data is requested on bounds change and duplicate bounds / datum are ignored.
For elements created before this change where useGrid is not defined,
default it to true to ensure consistent display size
Inline constant definitions in unit tests if they are only used once
Update the TimeSettingsURLHandler to check for changes to the search
parameters and only trigger a bounds change when there is a change.
Added integration tests between Time API and settings url handler.
Prevents extraneous bounds events.
Fixes https://github.com/nasa/openmct/issues/1636
Change the input for grid units/pixels to a simple checkbox toggle from a
dropdown menu.
Add a new specialized AccessorMutator class to support this operation.
Fix code style issues per Victor's review
Add toggle to work in pixel space or grid space, per the issue description.
Each element stores a boolean property that determines whether or not it
snaps to grid space or pixel space. Coordinates are converted between spaces
on toggle, preserving the size of the element in pixels.
To complete: change UI element for toggle to a checkbox.
Added individual property inputs to the toolbar for height, width, x,
y, and line endpoint coordinates in fixed/bundle.js.
Added "edit<Property>" AccessorMutators for height and width to each
of the element proxies, so these properties can be exposed only for
elements where it makes sense (e.g. boxes, but not lines, since lines
are better controlled by endpoint coordinates).
Added a method "checkNumeric" to ElementProxy.js , to be used
to restrict inputs to integral values for position and size
textfield inputs.
Current issues: endpoint coordinate inputs have undexpected behvaior,
handles disappear after using the input fields to modify element
properties.
Added individual property inputs to the toolbar for height, width, x,
y, and line endpoint coordinates in fixed/bundle.js.
Added "edit<Property>" AccessorMutators for height and width to each
of the element proxies, so these properties can be exposed only for
elements where it makes sense (e.g. boxes, but not lines, since lines
are better controlled by endpoint coordinates).
Added a method "checkNumeric" to ElementProxy.js , to be used
to restrict inputs to integral values for position and size
textfield inputs.
Current issues: endpoint coordinate inputs have undexpected behvaior,
handles disappear after using the input fields to modify element
properties.
* [Time Conductor] Skeleton class for URL handling
#1550
* [Time Conductor] Scaffold in param handling
* [Time Conductor] Finish sketching in URL handler
* [Time Conductor] Usage correct constants for bounds
* [Time Conductor] Use start/end for bounds/deltas
* [Time] Move URL handler
Per discussion, https://github.com/nasa/openmct/issues/1550#issuecomment-308849449
* [Time] Rename URL handler
* [Time] Rename URL handler script
* [Time] Use Time API from URL handler
* [Time] Utilize Time API
* [Time] Listen for changes, synchronize URL
* [Time] Move URL handler into adapter
...as it uses Angular constructs.
* [Time] Wire URL handler into adapter bundle
* [Time] Pass correct constructor arguments to URL handler
* [Time] Begin debugging URL handling
* [Time] Clarify and correct logic for bounds/deltas in URL
* [Time] Define timeSystem
* [Time] Pass start/end into time API as numbers
...instead of strings.
* [Time] Avoid creating redundant objects
* [Time] Restructure fixed vs clock logic
* [Time] Stop clock correctly for fixed mode
* [Time] Fix hasBounds/hasDeltas logic
...given that both inputs will be strings when read from search params,
_.isFinite was doomed to return false.
* [Time] Check for complete information
...before updating Time API to reflect search state. Additionally,
flatten logic to ease readability.
* [Time] Begin testing TimeSettingsURLHandler
* [Time] Test fixed mode query string updates
* [Time] Test realtime mode query string updates
* [Time] Test update of time API from query params
* [Time] Add missing semicolons
Satisfies JSHint; fixes#1550
* refactored code for listView
* minimum viable folder list functionality
* moved listview directory inside of platform/features
* [Folder ListView] First Code Review Fixes
Changes made:
Updated listview icon as the hamburger menu.
Injecting listview template as textfile instead of using the template's url.
Added callback to $scope to listen for $destroy to release resources for the mutation listener and the gesture recognizer.
Refactored ListViewController formatting function to use map instead of foreach.
Added listview plugin to the default registry.
Updated table styling.
* working progress commit. ListViewControllerSpec is implemented and all tests are passing. MCTGestureSpec is not fully implemented. Testing the gestureService release is in progress.
* All tests in MCTGestureSpec and ListViewControllerSpec are passing.
* ListViewControllerSpec and MCTGesture Tests all passing.
* refactored variable names in ListviewController to make more sense.
* [Frontend] Styling of Luis's list view WIP
Fixes#1615
This will have conflicts with Luis's work,
be careful!
* [Folder ListView] Second Code Review Fixes
Changes made:
updated listview to utilize open-mct sorting style.
added license comments to all files.
modified mctgesture interface to use $scope.eval().
* [Frontend] Styling of Luis's list view WIP
Fixes#1615
New list-view glyph added
* [Frontend] Styling of Luis's list view WIP
Fixes#1615
Changed name of "Items" view to "Grid";
* [Frontend] Styling of Luis's list view WIP
Fixes#1615
Updated icomoon project file with new list-view
glyph e1042;
* [Folder ListView] Second Code Review Fixes
Changes made:
updated listview to utilize open-mct sorting style.
added license comments to all files.
modified mctgesture interface to use $scope.eval().
* [Frontend] Styling of Luis's list view WIP
Fixes#1615
Refined cursor CSS;
* [Frontend] Styling of Luis's list view WIP
Fixes#1615
Added logic to refine how sorting occurs:
now, clicking a table header that wasn't
the orderByField always sorts by its default;
This change is based on the following code review:
- Display the entire list of timezones, regardless of what's currently entered.
- As soon as the user typed (or deleted chars in the input) then that filtration would take over the list display
Fixes#1437
Markup and CSS for `view large` button in frame context;
Sass formatting cleanups; removed unused styles from
_layout.scss; mods to MCTTriggerModal.js to remove
button label functionality;
Added new "icon-expand" glyph and class;
Fixes#1437Fixes#1423
New overlay > l-dialog and l-large-view classes;
Fix context-menu z-index to allow context menu
to appear in the overlay;
.object-top-bar refactored and replaced with
.object-browse-bar;
frame > hover now only displays local controls for
proper level, handles nested layout situation;
Fixed font-weight display issues;
MCTTriggerModal.js modified to do the following:
- Remove .frame classes when displaying object in overlay
- Allow click on this overlay .blocker to dismiss overlay
Fixed min-width issue incorrectly targeting .object-browse-bar in frame context;
Added expand anim to large view holder;
Changed close button icon
Significant mobile styling and cleanups;
Markup mods for overlay.html;
Handles dialog on top of large view;
Form validation now displays better in mobile;
Updated /src/api/ui/dialog.html to be in-line
with /platform/commonUI/dialog/res/templates/overlay.html;
Moved border-radius from containerBase to btnBase mixins;
Animate with scale for GPU acceleration
Change desktop animation to use scale, so that it is hardware
accelerated and buttery smooth. Also fixes text anti-aliasing
to improve readability.
Moved mobile/overlay/_overlay.scss styles into
overlay/_overlay.scss; removed mobile/overlay/_overlay.scss;
Cleanups in _overlay.scss; restored max-width/max-height
to dialogs (removed in #1376 for #1298) and added
min-width;
[Frontend] Mobile fixes in overlay and related
Fixes#1437
Added mobile-specific styling to _messages.scss;
Fixed button layout and margins in _overlay.scss;
Fixed message.html to not default to major style
buttons;
[Frontend] Timing tweaks
Fixes#1437
Moved large view expand transition duration
into theme _constants files; shortened anim
duration
Fix Style errors
[mctTriggerModal] correct scope for toggle
Correct scope for toggleFunction such that #1503 no longer occurs.
Fixes#1503
[Style] Add copyright header
Use private parts of new composition API for generic search indexer
so that all objects are properly accessible in search results.
Also prevent ROOT object from getting indexed but still traverse
composition. That way, "The root object" no longer shows in search
results.
Update tests to cover changes.
Fixes#1579
Allow timeSystem to be changed without specifying bounds when
a clock is present and can provide bounds. This simplifies
bootstrap code.
https://github.com/nasa/openmct/issues/1581
When a menu option that specified an invalid time system with a
clock, the time conductor controller would log an error claiming
that the clock was unknown when in fact the time system is the
culprit.
Remove the error message as the plugin handles this validation
already. Also removed some unused code.
https://github.com/nasa/openmct/issues/1580
Update conductor validation logic to trigger easier-to-understand
error messages for bad configurations.
Update default-setting-behavior to properly set clock and offsets
when the default option is clock-based menu option.
Only set defaults when timeSystem has not already been configured.
fixes https://github.com/nasa/openmct/issues/1580
Update time API to tick immediately after setting a clock using
the currentValue of the clock. This ensures that bounds will
be set when the clock is set, instead of waiting for the next
tick to occur.
fixes https://github.com/nasa/openmct/issues/1582
Remove examples of format implementations. The docs stated
incorrectly that UTCTimeFormat used the additional parameters
for the format method when it did not actually use those
parameters.
With our current landscape of telemetry providers, parse can
frequently be called on an already parsed value, so added
documentation to highlight the importance of an idempotent
parse method.
Cleanup related to change of file locations in:
https://github.com/nasa/openmct/issues/1574
Always include basic formats; removing them from the utc format
bundle. This way, they can be utilized by third parties without
them having to commit to the utc time system.
Fixes https://github.com/nasa/openmct/issues/1574
Ensure telemetry request options always have a certain number
of fields-- start, end, and domain. This allows telemetry providers
to implement necessary filtering for these types of requests.
Update warning message with correct wording, and change
check for label property such that a blank label will also
trigger the deprecation warning.
Addresses feedback from https://github.com/nasa/openmct/pull/1571
Update docs to reference domain and range. Also added additional
documentation for the Telemetry API based on a previous draft of
the docs.
https://github.com/nasa/openmct/issues/1546
Track the updated composition of an object before notifying any
listeners. Otherwise, any composition listener that mutates the
object would cause an infinite loop.
Detected in implementation of the new plot.
When no path is specified, don't throw error. Navigate
to default, as expected.
When navigating to root, navigate to the last child
of root instead. This handles cases where DEFAULT_PATH
is not found (e.g. deployments without "mine").
Remove a check for an invalid return value, update the spec to
return the proper value. Also updated the subscribe method
to fetch defaults the same as the request method.
https://github.com/nasa/openmct/pull/1544
Update the formatter mock to implement the expected methods, such
that formatting occurs properly.
Remove a test that was validating the execution of a method
as this was smelly-- it's not the method that is important, it's
the result (that couldn't be obtained without the method).
Edited for consistent period and parentheses usage throughout:
- Removed periods at the end of each element in a list of nouns.
- Placed periods outside parenthetical statements that aren't complete sentences themselves.
- Placed periods at the end of sentences without punctuation.
Around line 143, gave "constants" its own bullet point. Although it is a form of variable or field, it also forms a separate style element with a different guideline. It's also easier to find when skimming when separated - for new contributors who need to learn the style, and veteran contributors who are just double checking.
Added TelemetryCollection to handle bounds and buffering. Avoids loss of telemetry due to timing mismatch between telemetry providers and tick sources
Fixed issues with removal and addition of objects
Set up TC so that it is always enabled and defaults to realtime mode.
This allows us to have warp-like functionality without showing
the TC interface, and simplifies a lot of tutorials. We can still
reconfigure the TC by re-installing the plugin with different settings
Fix search item so that navigation occurs after clicking on
a search result, while still properly preventing navigation
when required.
Related to #1366
The composition policy now takes a child instance instead
of the child type, as in all cases we have access to the child
object.
This allows new-style objects to be contained by old-style objects.
Updated all composition policies to use standardized argument names
instead of `context` and `candidate`; this makes it easier to
understand.
Updated AddActionProvider to hardcode the object types supported.
Based on feedback from tutorial sprint, update provider API,
formatter API, and legacy adapter code.
Providers can now implement separate checks for providing realtime
and historical data, and providers are not registered with a specific
strategy. Strategy is instead intended to be an attribute in the
request options.
Removed unused code in the telemetry API and simplify limitEvaluators.
Stop application from requesting bundles.json at first load. This was
confusing to some external developers who would see an error in the
log and not know the cause.
Historical and real-time data flowing
Added formatting, and limits. Support telemetry objects themselves and not just composition of telemetry objects
Apply default time range if none supplied (15 minutes)
Fixes#1233
Additional content; adding size classes to
input[type="text"] to allow direct application to
the input; added placeholder styling and related
thematic constants.
Make a separate chart directive for drawing resource graphs in timelines. This
is in preparation for a new plot bundle which will make a large number of
changes to the drawing API to support newly requested features. By separating
code, there will be no impact to the timeline when the new plot features are
added.
Set key on represent so that commit function can properly persist
configuration per object type. Add tests to EditRepresenter
Fixes https://github.com/nasa/openmct/issues/1367
BrowseController uses new MCTTreeView parameters to prevent navigation
events before triggering digests. It also no longer sets navigation
more frequently than it should.
https://github.com/nasa/openmct/issues/1360
EditObjectController now exits edit mode when it is destroyed.
It also injects a check function in the navigation service to
replace the old functionality implemented in EditNavigationPolicy.
https://github.com/nasa/openmct/issues/1360
Remove mct-before-unload, and move the functionality to the navigation
service. The navigation service considers "unload" to be a navigation
event and prompts in much the same way as it would before any other
navigation event.
https://github.com/nasa/openmct/issues/1360
Remove policy checking in navigation action and depend on navigation
service to provide those checks.
* Register checkFunctions with navigationService.checkBeforeNavigation
which returns a function for unregistering them.
* navigationService.setNavigation will run checks before allowing
navigation, unless a `force` argument is supplied.
https://github.com/nasa/openmct/issues/1360
Add methods to tree view via scope for more fine grained control.
Can supply a "allowSelection" function which should return true
if a given selection is allowed. This is executed before a node
is selected and allows you to prevent selection. Before this, if
you wanted to prevent the selection from changing, you had to wait
for it to change and then change it back to the original value.
Can also supply an "onSelection" function which is called when a
value is successfully selected. This allows you to handle the
selection event without waiting for digest. You can still $watch
"selectedObject" if you prefer.
Additionally, this changes the tree node to trigger a digest only
when the value is set via a MouseClick, instead of every time.
Tidies up directive scope bindings to clarify usage.
https://github.com/nasa/openmct/issues/1360
Simplify edit registration and remove extra abstractions. No longer
attach a status listener for every representation-- just use a single watch
for the edit controller. Simplifies logic involved in switching controllers.
https://github.com/nasa/openmct/issues/1360
* [Edit] Added notifications to SaveAsAction
* [Edit] Added notifications to SaveAction
* [Edit] Update SaveAsActionSpec
* [Edit] No error notif when user cancels SaveAs
Add TelemetryMetadataManager which assists developers in interrogating
telemetry metadata to find values that are useful for them.
Add TelemetryValueFormatter to simplify the parsing (retrieval of numerical
values) and formatting (retrieval of displayable string value) of datums.
https://github.com/nasa/openmct/issues/1310
* [Generator] Support more config, data rates
Update sinewave generator to use webworker, have more
configuration options. Now supports higher data rates.
Also wrote telemetry provider for new API, and updated
legacy provider as well while we flesh out the telemetry API.
Fixes https://github.com/nasa/openmct/issues/1337
* Proper Step Timing, proper value passthrough
* Remove unused value, remove non-functional plugin
Remove an unnecessary datum value, `time`, and remove the new style
plugin -- which does not actually work -- to prevent confusion.
Addresses
https://github.com/nasa/openmct/pull/1353#pullrequestreview-12571665
* [Time Conductor] Prevent route change on setting search parameters. fixes#1341
* [Inspector] Fixed incorrect listener deregistration which was causing errors on scope destruction
* Bare route is redirect to browse
* [Browse] handle routing without breaking $route
Manage route transitions such that route changes are properly
prevented and navigation events occur while still updating the url.
Resolves a number of issues where path and search updates had
to be supported in a very hacky manner.
https://github.com/nasa/openmct/pull/1342
* [URL] Set search without hacks
Changes in previous commit allow the search parameters to be modified
without accidentally triggering a page reload.
https://github.com/nasa/openmct/pull/1342
* [Views] Update on location changes
If the user has a bookmark or tries to change the current view of an
object by specifying view=someView as a search parameter, the change would
not previously take effect. This resolves that bug.
https://github.com/nasa/openmct/pull/1342
* [TC] Set query params to undefined
Instead of setting params to null, which would eventually result in those
parameters equaling undefined, set them to undefined to skip the extra
step.
https://github.com/nasa/openmct/pull/1342
* [Instantiate] Instantiate objects with context
Add context to instantiate objects so that they can be navigated
to for editing.
https://github.com/nasa/openmct/pull/1342
* [Tests] Update specs
Update specs to match new expectations.
* [Style] Fix style
* [TC] Remove unused dependency
Remove $route dependency from time conductor controller as it was
not being used. Resolves review comments.
https://github.com/nasa/openmct/pull/1342#pullrequestreview-11449260
* [Composition] provide ids, sync via mutation
Composition provides ids, and we sync things via mutation. This
simplifies the composition provider interface some, and also
fixes some issues with the previous default composition provider
related to #1322fixes#1253
* [Style] Fix style, update jsdoc
Fix style, update jsdoc, clean up composition api changes for
Fixes#1322
* [Style] Tidy and JSDoc
* [Composition] Utilize new composition API
Ensures that composition provided by new API works in old API.
Some functionality is not present in both places, but for the
time being this is sufficient.
https://github.com/nasa/openmct/pull/1332
* [Utils] add tests, fix bugs
Add tests to objectUtils to ensure correctness. This caught a bug
where character escapes were not properly applied or removed. As
a result, any missing object that contained a colon in it's key
would cause an infinite loop and cause the application to crash.
Bug discovered in VISTA integration.
* [Style] Fix style
* [Roots] Depend on new api for ROOT
Depend on new API for ROOT model, ensuring consistency when
fetching ROOT model.
* [Style] Remove commented code
Closes https://github.com/nasa/openmct/pull/1287.
Squashed commit of the following:
commit af9ba3095859684cb2465f1d5222a14db231fdb7
Merge: c98286d31308b1
Author: Pete Richards <peter.l.richards@nasa.gov>
Date: Fri Nov 25 14:57:32 2016 -0800
Merge branch 'open1193' into open1287-integration
Resolve conflicts in glyph files as documented in pull request:
https://github.com/nasa/openmct/pull/1287#issuecomment-263030180
Closes https://github.com/nasa/openmct/pull/1287
commit 31308b1076
Author: Andrew Henry <andrew.k.henry@nasa.gov>
Date: Tue Nov 22 17:08:10 2016 +0000
[Time Conductor] Addressed code review comments. Fixes#1287
commit db6386e21c
Author: Henry <akhenry@gmail.com>
Date: Wed Nov 9 11:52:39 2016 -0800
Removed redundant ConductorService
commit a9ec8db8c6
Merge: fc36674dfa4591
Author: Henry <akhenry@gmail.com>
Date: Wed Nov 9 08:23:07 2016 -0800
Merge branch 'master' into open1193
commit fc36674b5c
Author: Henry <akhenry@gmail.com>
Date: Wed Nov 9 08:23:01 2016 -0800
Updated wording of docs
commit d0906baccf
Author: Henry <akhenry@gmail.com>
Date: Fri Nov 4 10:48:05 2016 -0700
Fixed TOI not showing
commit 099c56c407
Author: Henry <akhenry@gmail.com>
Date: Fri Oct 28 16:46:06 2016 -0700
Fixed failing tests
commit 7cc008ed01
Author: Henry <akhenry@gmail.com>
Date: Fri Oct 28 10:28:41 2016 -0700
Added tests for tables, TOI controller
commit b0901e83cb
Author: Henry <akhenry@gmail.com>
Date: Thu Oct 27 10:42:31 2016 -0700
Added tests for ConductorAxisController and TimeConductor
commit dfed0a0783
Author: Henry <akhenry@gmail.com>
Date: Wed Oct 26 18:07:50 2016 -0700
Added ConductorAxisController tests
commit c3322e3847
Author: Henry <akhenry@gmail.com>
Date: Tue Oct 25 20:54:24 2016 -0700
Added tests for MctTableController
commit 8e76ebb5a8
Author: Henry <akhenry@gmail.com>
Date: Tue Oct 25 15:48:15 2016 -0700
Removed debugging code
commit 93735bc404
Author: Henry <akhenry@gmail.com>
Date: Mon Oct 24 15:13:45 2016 -0700
Removed bundle definition of MctAxisController
Documenting code
commit a942541724
Author: Henry <akhenry@gmail.com>
Date: Sun Oct 23 19:54:01 2016 -0700
[Time Conductor] Fixed memory leak due to listeners not being deregistered
commit 49e600dcc9
Author: Henry <akhenry@gmail.com>
Date: Sat Oct 22 16:47:11 2016 -0700
[Time Conductor] Fixed zoom slider behavior
commit f5806613b9
Author: Henry <akhenry@gmail.com>
Date: Sat Oct 22 14:46:14 2016 -0700
[Time Conductor] support TOI from real-time tables
commit 029d2b3058
Author: Henry <akhenry@gmail.com>
Date: Thu Oct 20 14:32:34 2016 -0700
[Examples] Simplified MSL example, fixed object tree not loading by default, renamed. Fixes#1256. Fixes#1255
commit 482eb4a5e8
Author: Henry <akhenry@gmail.com>
Date: Sat Oct 22 13:09:05 2016 -0700
[Time Conductor] Using new API
commit 843c678b0b
Merge: b56ab0a08ca765
Author: Henry <akhenry@gmail.com>
Date: Fri Oct 21 10:21:22 2016 -0700
In process of merging
commit b56ab0aac2
Author: Henry <akhenry@gmail.com>
Date: Wed Oct 19 16:30:26 2016 -0700
[Time Conductor] Implement default sort, fix unpredictable positioning using % left, set TOI on conductor init. #1193
commit d12ae77d95
Author: Henry <akhenry@gmail.com>
Date: Wed Oct 19 11:29:42 2016 -0700
Further TOI improvements
commit 22564473b5
Merge: 9f3ec3b86b51f6
Author: Henry <akhenry@gmail.com>
Date: Tue Oct 18 16:32:12 2016 -0700
Merge branch 'open1193' of https://github.com/nasa/openmctweb into open1193
commit 9f3ec3b18f
Author: Henry <akhenry@gmail.com>
Date: Tue Oct 18 16:31:59 2016 -0700
Fixed issue with scrolling to row after bounds change
commit 86b51f6cde
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Mon Oct 17 17:19:50 2016 -0700
[Frontend] Small refactor for mct-include
Fixes#933Fixes#1193
Markup and CSS tweaked to support using mct-include
as the main container for the TOI element; TC, plots
and tables all updated.
commit dadca62955
Author: Henry <akhenry@gmail.com>
Date: Mon Oct 17 15:54:34 2016 -0700
Positioning of TOI in tables and plots
commit 7a09bc1339
Author: Henry <akhenry@gmail.com>
Date: Mon Oct 17 10:11:59 2016 -0700
Migrated TOI functionality to common controller
commit 6bea6b3bc2
Merge: 660757f8f67cbd
Author: Henry <akhenry@gmail.com>
Date: Fri Oct 14 14:38:57 2016 -0700
Merge branch 'open1193' of https://github.com/nasa/openmctweb into open1193
commit 660757fc1c
Author: Henry <akhenry@gmail.com>
Date: Fri Oct 14 14:38:46 2016 -0700
Added TimeOfInterestController
commit 8f67cbd717
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Fri Oct 14 11:33:35 2016 -0700
[Frontend] Fixed cursor: grab on Time Conductor
Fixes#933Fixes#1193
Moved cursor: grab into mixin; sass cleanups
commit 07a4e26317
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Fri Oct 14 11:03:23 2016 -0700
[Frontend] TOI finalizing
Fixes#933Fixes#1193
HTML template cleaned up; checked in snow theme,
theme colors tweaked; padding finalized; now uses
val-to-left instead of -to-right;
commit 271c788f20
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Fri Oct 14 10:22:26 2016 -0700
[Frontend] TOI in tables
Fixes#933Fixes#1193
WIP
commit b7e8a1b378
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Oct 13 15:55:48 2016 -0700
[Frontend] Styling for TOI element
Fixes#933Fixes#1193
WIP: Table TOI element in progress
commit 6042e4ad58
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Oct 13 13:46:27 2016 -0700
[Frontend] Styling for TOI element
Fixes#933Fixes#1193
WIP: plots and TC done, moving on to
tables; moved sass into conductor-v2;
moved constants;
commit 1a534301c5
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Oct 13 11:42:10 2016 -0700
[Frontend] Refactor TOI element
Fixes#933Fixes#1193
WIP; TOI as mct-include; layout uses
flex-box; preparing to move TOI sass
into conductor-v2 directory;
commit 42acf9255e
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Oct 12 18:34:51 2016 -0700
[Frontend] Adding resync and dedicated unpin buttons
Fixes#933Fixes#1193
VERY WIP!
commit 3f0eb0b7cb
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Oct 12 18:33:53 2016 -0700
[Frontend] New glyphs for use by TOI
Fixes#933Fixes#1193
Symbols font updated
commit 086307ba3a
Author: Henry <akhenry@gmail.com>
Date: Tue Oct 11 17:16:51 2016 -0700
Fixed scrolling behavior with TOI
commit 938bf3c4df
Merge: 39104378b2047c
Author: Henry <akhenry@gmail.com>
Date: Tue Oct 11 13:26:20 2016 -0700
Merge branch 'open1182' into open1193
commit 8b2047ca32
Author: Henry <akhenry@gmail.com>
Date: Tue Oct 11 13:25:24 2016 -0700
Fixed issue with setting deltas
commit 3910437033
Merge: 70c4ce202c543f
Author: Henry <akhenry@gmail.com>
Date: Tue Oct 11 12:48:37 2016 -0700
Merged changes to zoom
commit 02c543fddc
Author: Henry <akhenry@gmail.com>
Date: Tue Oct 11 12:45:18 2016 -0700
Fixed zoom in real-time mode
commit 70c4ce24e4
Author: Henry <akhenry@gmail.com>
Date: Fri Oct 7 17:57:14 2016 -0700
Added support for clicking row to set TOI
commit b995a8b87b
Merge: 51a9557b384e84
Author: Henry <akhenry@gmail.com>
Date: Fri Oct 7 16:11:59 2016 -0700
Merged from open1182
commit b384e84872
Merge: 5babf7207140b1
Author: Henry <akhenry@gmail.com>
Date: Fri Oct 7 15:02:41 2016 -0700
Merge branch 'open933' into open1182
commit 07140b179f
Merge: 3e9c0ebcbd001e
Author: Henry <akhenry@gmail.com>
Date: Fri Oct 7 14:54:18 2016 -0700
Merge branch 'master' into open933
commit 51a95575f7
Author: Henry <akhenry@gmail.com>
Date: Fri Oct 7 14:51:59 2016 -0700
[Time Conductor] Refactored time of interest as optional generic behavior of MctTable
commit dfbbc3b0c5
Merge: 430645b47a0aba
Author: Henry <akhenry@gmail.com>
Date: Thu Oct 6 10:23:42 2016 -0700
alt-click to select TOI from table
commit 3e9c0eb7a5
Merge: f1d20728a00181
Author: Henry <akhenry@gmail.com>
Date: Wed Oct 5 12:25:04 2016 -0700
Merged from master to resolve build issues
commit f1d2072bb9
Author: Henry <akhenry@gmail.com>
Date: Wed Oct 5 11:17:22 2016 -0700
Added license information
commit 430645b1f2
Author: Henry <akhenry@gmail.com>
Date: Wed Oct 5 09:04:13 2016 -0700
TOI working in time conductor
commit 47a0aba601
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Tue Oct 4 18:12:01 2016 -0700
[Frontend] TOI sass and markup sanding
Fixes#933Fixes#1193
Color tweaks; Cleanups, commented
code removal, etc.; tightened up
tabular padding and font sizes;
commit 0ed0a48a8c
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Tue Oct 4 15:49:18 2016 -0700
[Frontend] Styling for TOI element
Fixes#933Fixes#1193
Tabular styling for TOI;
commit 1650aae518
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Mon Oct 3 15:56:56 2016 -0700
[Frontend] Styling for TOI element
Fixes#933Fixes#1193
WIP: Tabular styling for TOI;
TODO: make bottom border work
commit d3bf6c5857
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Mon Oct 3 15:15:56 2016 -0700
[Frontend] Styling for TOI element
Fixes#933Fixes#1193
WIP: Markup and CSS for plots and TC near complete;
TODO: revised styling in tabular views;
commit 5cd0c8a4fa
Author: Henry <akhenry@gmail.com>
Date: Fri Sep 30 12:41:14 2016 -0700
[Time Conductor] merged from open1182
commit 5babf7274d
Author: Henry <akhenry@gmail.com>
Date: Thu Sep 29 11:21:11 2016 -0700
[Time Conductor] Tweaked the break points for zoom level indicator
commit 22da34870d
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Sep 29 10:41:21 2016 -0700
[Frontend] Styling for TOI element
Fixes#933Fixes#1193
WIP: Markup and CSS revisions for updated UX approach;
TODO: cosmetic CSS
commit 99253a5904
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Tue Sep 27 20:42:33 2016 -0700
[Frontend] Styling for TOI element
Fixes#933Fixes#1193
WIP: Markup and CSS revisions for updated UX approach
commit 2db4aa6235
Author: Henry <akhenry@gmail.com>
Date: Fri Sep 23 13:06:22 2016 -0700
[Time Conductor] Added zoom level label
commit bb2ae2f8d1
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Fri Sep 23 11:07:06 2016 -0700
[Frontend] Styling for TOI element
Fixes#933Fixes#1193
Finalized TOI in plots, table and TC
commit 0cf4c92555
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Sep 22 19:15:10 2016 -0700
[Frontend] Styling for TOI element in tables
Fixes#933Fixes#1193
WIP: styling in tabular mostly done, needs more unit testing
TODO: fix hide/show for pinned TOI in plots - don't
show pinned TOI on hover when not .active
commit 3c95c095f1
Author: Henry <akhenry@gmail.com>
Date: Thu Sep 22 17:22:25 2016 -0700
[Time Conductor] Refactored out use of angular event bus in favor of making TimeConductorViewService an event emitter.
commit adbcc407ef
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Sep 22 16:06:45 2016 -0700
[Frontend] Styling for TOI element
Fixes#933Fixes#1193
WIP: TOI in tables
commit 1c3bd69b66
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Sep 22 16:06:16 2016 -0700
[Frontend] Styling for TOI element, some refactoring
Fixes#933Fixes#1193
Moves some TOI styling into dedicated new scss file;
Enhancements to TOI in plots to bring into parity
with TOI in TC approach;
commit 49ee5cb74b
Author: Henry <akhenry@gmail.com>
Date: Thu Sep 22 15:18:48 2016 -0700
[Time Conductor] Destroy listeners in ConductorAxisController
commit 1a93ba2c3d
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Sep 22 15:09:42 2016 -0700
[Frontend] Styling for TOI element in TC
Fixes#933Fixes#1193
Final for now; both types of TOI added to TC markup;
Hover behavior; constant values in the right places;
commit 98122cc730
Author: Henry <akhenry@gmail.com>
Date: Tue Sep 20 11:40:58 2016 -0700
[Time Conductor] Added Zoom
commit 7fcafb6b58
Author: Henry <akhenry@gmail.com>
Date: Mon Sep 12 16:53:48 2016 -0700
[Time Conductor] Added pan to Time Conductor
commit d77922d66c
Author: Pete Richards <pete@pete-richards.com>
Date: Thu Sep 15 09:37:11 2016 -0700
Revert "[proxyUrl] pass URL parameters to proxied URL"
commit 2e81550c86
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date: Wed Sep 14 10:16:33 2016 -0700
Revert "[Build] Check dependencies for vulnerabilities"
commit 8eb7585653
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date: Mon Aug 29 10:58:02 2016 -0700
[README] Warn about root installation issues
Mitigates #1151.
commit 904d56a089
Author: Henry <akhenry@gmail.com>
Date: Thu Sep 22 13:32:43 2016 -0700
[Time Conductor] #933 Clean up time conductor listeners on scope destruction
commit c0a96b3c5f
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Sep 22 10:33:05 2016 -0700
[Frontend] Styling for TOI element in TC
Fixes#933Fixes#1193
WIP, tweaking TOI in TC
commit 27e6caf69b
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Fri Sep 16 18:51:51 2016 -0700
[Frontend] Styling for TOI element in plots
Fixes#933Fixes#1193
Relates to #1182
WIP, adding TOI to plot view;
Integrated Andrew's work from #1182;
Significant changes to markup and
additions to plot scss;
commit 2c7ae95106
Merge: 2c81b7241a160f
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Fri Sep 16 15:11:25 2016 -0700
Merge branch 'open1182' into open1193
commit 41a160fc4f
Merge: 92a80c3156ba83
Author: Henry <akhenry@gmail.com>
Date: Fri Sep 16 14:25:49 2016 -0700
Merge branch 'master' into open1182
commit 92a80c39cb
Author: Henry <akhenry@gmail.com>
Date: Mon Sep 12 16:53:48 2016 -0700
[Time Conductor] Added pan to Time Conductor
commit 2c81b72d60
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Sep 15 16:02:30 2016 -0700
[Frontend] Styling for TOI element in plots
Fixes#933Fixes#1193
WIP, adding TOI to plot view.
commit 9e2debf801
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Sep 15 15:43:29 2016 -0700
[Frontend] Styling for TC's TOI element
Fixes#933Fixes#1193
I lied in my last commit - one more
alignment tweak needed. Now I'm done.
commit 35872e284c
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Sep 15 15:40:03 2016 -0700
[Frontend] Styling for TC's TOI element
Fixes#933Fixes#1193
TOI in TC done for now.
commit 98e67f8dfb
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Sep 15 14:55:06 2016 -0700
[Frontend] Styling for TC's TOI element
Fixes#933Fixes#1193
WIP: adjust spacing;
added pagination buttons
commit f912b9e273
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Sep 14 18:40:55 2016 -0700
[Frontend] Styling for TC's TOI element
Fixes#933
WIP, TC v2 changes
commit 2df1e2b508
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Sep 14 18:40:29 2016 -0700
[Frontend] Styling for TC's TOI element
Fixes#933
WIP, global changes
commit 9e85341aaa
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Sep 14 15:16:16 2016 -0700
[Frontend] Fixed color for TC clock hands
Fixes#933
commit 11e06039ec
Merge: a1331b7f732387
Author: Henry <akhenry@gmail.com>
Date: Tue Sep 13 13:25:37 2016 -0700
Merge branch 'master' into open933
commit a1331b7bb3
Merge: d1960b2e73bb4f
Author: Henry <akhenry@gmail.com>
Date: Mon Sep 12 15:07:05 2016 -0700
Merge branch 'master' into open933
commit d1960b2f46
Author: Henry <akhenry@gmail.com>
Date: Mon Sep 12 14:54:16 2016 -0700
[Time Conductor] Resolved merge conflicts
commit 9a06325533
Merge: e639e054c6ca58
Author: Henry <akhenry@gmail.com>
Date: Mon Sep 12 14:39:24 2016 -0700
Merge branch 'master' into open933
commit e639e056ba
Author: Henry <akhenry@gmail.com>
Date: Fri Sep 9 16:39:21 2016 -0700
[Time Conductor] Fixing bugs found in smoke testing. Fixes#933
commit fbab890081
Author: Henry <akhenry@gmail.com>
Date: Wed Sep 7 14:29:21 2016 -0700
[Time Conductor] Switched conductor to mct-include rather than mct-representation to avoid warnings
commit d37dd52ee1
Merge: 7af587558391de
Author: Henry <akhenry@gmail.com>
Date: Tue Sep 6 16:43:17 2016 -0700
Merge branch 'master' into open933
commit 7af5875dd5
Author: Henry <akhenry@gmail.com>
Date: Tue Sep 6 10:04:29 2016 -0700
[Time Conductor] #933 Fixed code style errors
commit c6eaa3d528
Author: Andrew Henry <andrew.k.henry@nasa.gov>
Date: Wed Aug 24 15:28:19 2016 +0100
[Time Conductor] Adding tests and fixing failing ones. #933
commit 4cf6126d35
Author: Henry <akhenry@gmail.com>
Date: Wed Aug 10 18:22:30 2016 -0700
Refactoring based on feedback
Refactoring controller
Migrating functions off controller onto service class
Simplified modes
Adding comments
Removed unnecessary validation
Fixing testing issues
commit 4ae6da0334
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Tue Aug 9 17:47:31 2016 -0700
[Frontend] Data viz in Time Conductor smaller
Fixes#933
Reduced height of data viz bar in Time Conductor
v2;
commit ae39343b76
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Mon Aug 8 12:14:20 2016 -0700
[Frontend] Fix for bad fix
Fixes#1112
Put overflow: hidden back at
outer wrapper level (now on .t-object.primary-pane
) which doens't clip the Inspector expand/collapse;
did better unit testing;
commit 62ee7e569b
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Mon Aug 8 11:21:01 2016 -0700
[Frontend] Fix for collapse Inspector button
Fixes#1112
Moved min-width and overflow: hidden
to TC-specific elements; removed
overflow: hidden from .primary-pane
commit 7557a86208
Merge: 46e644ec8931f8
Author: Henry <akhenry@gmail.com>
Date: Fri Aug 5 16:37:36 2016 -0700
Merge branch 'master' into open933
commit 46e644e6dc
Author: Pete Richards <peter.l.richards@nasa.gov>
Date: Fri Aug 5 14:44:18 2016 -0700
Use key to retrieve default
commit af7954c5a1
Author: Pete Richards <peter.l.richards@nasa.gov>
Date: Fri Aug 5 11:24:51 2016 -0700
Trigger digests when bounds are set
commit 0e0ad64830
Author: Henry <akhenry@gmail.com>
Date: Thu Aug 4 10:41:58 2016 -0700
Fixed issue with wrong deltas being applied
commit f3fd386e3b
Author: Henry <akhenry@gmail.com>
Date: Wed Aug 3 21:03:09 2016 -0700
Retain time system on mode change
commit 25b9f371e2
Author: Henry <akhenry@gmail.com>
Date: Wed Aug 3 20:16:03 2016 -0700
Fixed loss of time system options on navigation
commit 6b482d487b
Merge: f96f78f9a72c96
Author: Henry <akhenry@gmail.com>
Date: Wed Aug 3 19:57:03 2016 -0700
Merged mode-specific defaults, with some refactoring
commit f96f78ff79
Author: Henry <akhenry@gmail.com>
Date: Wed Aug 3 19:34:31 2016 -0700
Select appropriate tick source based on mode
commit 579233ade9
Author: Henry <akhenry@gmail.com>
Date: Wed Aug 3 18:30:01 2016 -0700
Fixed delta format issue on navigation
commit 9a72c96ea4
Author: Pete Richards <peter.l.richards@nasa.gov>
Date: Wed Aug 3 18:06:39 2016 -0700
[TCv2] different defaults by mode
commit f4e1879a2d
Author: Henry <akhenry@gmail.com>
Date: Wed Aug 3 17:43:07 2016 -0700
stop listening to tick source on time system change
commit f844495cc1
Author: Henry <akhenry@gmail.com>
Date: Wed Aug 3 17:40:37 2016 -0700
Support deltaFormat on timeSystems
commit 900752208f
Author: Pete Richards <peter.l.richards@nasa.gov>
Date: Wed Aug 3 13:05:43 2016 -0700
[TCv2] get conductor without service
commit 6501e2eb5f
Author: Henry <akhenry@gmail.com>
Date: Wed Aug 3 12:22:13 2016 -0700
Added isUTCBased to TimeSystem interface
commit b9c41107c1
Author: Henry <akhenry@gmail.com>
Date: Tue Aug 2 22:18:44 2016 -0700
Time Conductor state retained on navigation
commit 34c62ba405
Author: Henry <akhenry@gmail.com>
Date: Tue Aug 2 15:16:35 2016 -0700
Time Conductor in edit mode
commit 1eea5ce480
Merge: 4cd579d1173828
Author: Henry <akhenry@gmail.com>
Date: Mon Aug 1 20:29:50 2016 -0700
merged from master
commit 4cd579d274
Author: Henry <akhenry@gmail.com>
Date: Mon Aug 1 20:16:46 2016 -0700
Pass numerical value to format functions
commit 11738286df
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Mon Aug 1 18:56:33 2016 -0700
[Frontend] Styling for unsynced elements
Fixes#933
commit ca5206d4a0
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Mon Aug 1 18:55:49 2016 -0700
[Frontend] Fixing issues with theme coloring
Fixes#933
commit 573f1f9f99
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Mon Aug 1 18:04:17 2016 -0700
[Frontend] Hide zoom slider control
Fixes#933
Temporarily hiding per request from Andrew
today;
commit c5c45f0a0e
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Mon Aug 1 18:01:28 2016 -0700
[Frontend] Update TC2 markup and sass
Fixes#933
Update markup and sass in TC2 to be in line with
updates from master from #1047 glyphs
to cssclass approach;
commit 121ab413ff
Author: Henry <akhenry@gmail.com>
Date: Mon Aug 1 17:51:15 2016 -0700
Apply formatting, filter modes by tick source availability
commit 753bd97c8a
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Mon Aug 1 17:12:44 2016 -0700
Merge remote-tracking branch 'origin/master' into open933-c
# Conflicts:
# platform/commonUI/edit/res/templates/create/create-menu.html
# platform/commonUI/general/res/fonts/symbols/wtdsymbols.eot
# platform/commonUI/general/res/fonts/symbols/wtdsymbols.svg
# platform/commonUI/general/res/fonts/symbols/wtdsymbols.ttf
# platform/commonUI/general/res/fonts/symbols/wtdsymbols.woff
# platform/commonUI/general/res/sass/_archetypes.scss
# platform/commonUI/general/res/sass/_constants.scss
# platform/commonUI/general/res/sass/_icons.scss
# platform/commonUI/general/res/sass/_main.scss
# platform/commonUI/general/res/sass/_mixins.scss
# platform/commonUI/general/res/sass/controls/_buttons.scss
# platform/commonUI/general/res/templates/controls/time-controller.html
# platform/commonUI/themes/snow/res/sass/_constants.scss
commit fcd7ab93e5
Merge: a75ea679b58aa0
Author: Henry <akhenry@gmail.com>
Date: Mon Aug 1 17:12:00 2016 -0700
Merge branch 'open933' of https://github.com/nasa/openmctweb into open933
commit c699cb8b4b
Merge: 579c6b6d1e1ba1
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Mon Aug 1 17:11:37 2016 -0700
Merge remote-tracking branch 'origin/master' into open933-c
# Conflicts:
# platform/commonUI/edit/res/templates/create/create-menu.html
# platform/commonUI/general/res/fonts/symbols/wtdsymbols.eot
# platform/commonUI/general/res/fonts/symbols/wtdsymbols.svg
# platform/commonUI/general/res/fonts/symbols/wtdsymbols.ttf
# platform/commonUI/general/res/fonts/symbols/wtdsymbols.woff
# platform/commonUI/general/res/sass/_archetypes.scss
# platform/commonUI/general/res/sass/_constants.scss
# platform/commonUI/general/res/sass/_icons.scss
# platform/commonUI/general/res/sass/_main.scss
# platform/commonUI/general/res/sass/_mixins.scss
# platform/commonUI/general/res/sass/controls/_buttons.scss
# platform/commonUI/general/res/templates/controls/time-controller.html
# platform/commonUI/themes/snow/res/sass/_constants.scss
commit a75ea67b8c
Author: Henry <akhenry@gmail.com>
Date: Mon Aug 1 17:11:01 2016 -0700
Format updates when time system selected
commit 9b58aa0052
Author: Pete Richards <peter.l.richards@nasa.gov>
Date: Mon Aug 1 17:03:00 2016 -0700
[TCv2] Add conductorService for compatibility
Add conductor service for compatibility with old plugins that depend
on the conductor service.
commit 579c6b6d24
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Mon Aug 1 16:30:51 2016 -0700
[Frontend] Styling TC unsynced elements
Fixes#933
WIP: Styling for unsynced elements
commit 762f43fa61
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Mon Aug 1 16:26:47 2016 -0700
[Frontend] Styling TC unsynced elements
Fixes#933
WIP: Styling for unsynced elements
commit ce5d0ef5bd
Author: Henry <akhenry@gmail.com>
Date: Mon Aug 1 16:03:27 2016 -0700
Merged stylesheet changes
commit 142ee2f336
Merge: 482fcbf523d674
Author: Henry <akhenry@gmail.com>
Date: Mon Aug 1 15:44:49 2016 -0700
Added LocalTimeSystem and merged latest styles
commit 482fcbf6ee
Author: Henry <akhenry@gmail.com>
Date: Mon Aug 1 15:14:23 2016 -0700
Refactored bundle
commit 523d6743fb
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Mon Aug 1 12:00:53 2016 -0700
[Frontend] Added support for thematic styling of Time Conductor v2
Fixes#933
Added theme sass files
commit 7af22126d4
Author: Henry <akhenry@gmail.com>
Date: Wed Jul 27 12:05:03 2016 -0400
Prevent tabbing into end bounds when not in fixed mode
commit 8e59072537
Author: Henry <akhenry@gmail.com>
Date: Wed Jul 27 11:55:12 2016 -0400
Removed LAD and Realtime modes
commit c1bbc4f01d
Author: Henry <akhenry@gmail.com>
Date: Wed Jul 27 10:38:04 2016 -0400
Code cleanup
commit aa4a5e56f9
Author: Henry <akhenry@gmail.com>
Date: Tue Jul 26 16:55:00 2016 -0400
Improved support from plot
commit 5b2eb72b16
Author: Henry <akhenry@gmail.com>
Date: Tue Jul 26 08:33:30 2016 -0400
[Time Conductor] Addressed documentation issues
commit 1b7fc57d21
Author: Henry <akhenry@gmail.com>
Date: Mon Jul 25 16:55:27 2016 -0400
Added status support to plots
commit a4f6f6f50b
Author: Henry <akhenry@gmail.com>
Date: Mon Jul 25 12:09:15 2016 -0400
Added license
commit 19fd63b850
Merge: c2c8e16a10ded2
Author: Henry <akhenry@gmail.com>
Date: Thu Jul 21 20:06:50 2016 -0700
Merge branch 'open933-frontend-b' into open933
commit c2c8e16453
Author: Henry <akhenry@gmail.com>
Date: Thu Jul 21 20:03:40 2016 -0700
Added scale sensitive formatting to UTCTimeFormat
commit a10ded25b4
Merge: da7c636e6d8944
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 20 18:33:58 2016 -0700
Merge remote-tracking branch 'origin/open933' into open933-frontend-b
# Conflicts:
# platform/features/conductor-v2/res/sass/time-conductor.scss
# platform/features/conductor/res/sass/time-conductor.scss
commit da7c636724
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 20 18:22:20 2016 -0700
[Frontend] Time Conductor v2 styling
Fixes#933
Redo TC icon to use font symbol, added
new symbol for brackets to font files; font
anti-aliasing mod for .ui-symbol class;
layout tweaks; mobile tweaks.
commit b392633bc6
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 20 15:48:22 2016 -0700
[Frontend] Time Conductor v2 styling
Fixes#933
WIP: Significant mobile and desktop style tweaks;
moved constants into their own include file;
commit ff1678435e
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 20 11:43:40 2016 -0700
[Frontend] Time Conductor v2 styling
Fixes#933
Changed desktop and mobile RT UI to display
end datetime and hide start;
WIP: mobile styling for main UI of TC;
commit 2124fe01e1
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 20 10:18:42 2016 -0700
[Frontend] Renew support for Time Conductor v1
Fixes#933
Minor fixes to TCv1 for mobile
commit e6d8944547
Author: Henry <akhenry@gmail.com>
Date: Tue Jul 19 20:17:06 2016 -0700
Modified main.js
commit ea1defac28
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Tue Jul 19 18:33:24 2016 -0700
[Frontend] Renew support for Time Conductor v1
Fixes#933
Time Conductors v1 and v2 now build and load their
own isolated CSS files. All previous styling for TCv1
should be re-enabled. Note that Conductor v2 mobile
is not complete yet.
commit 2a19394334
Author: Henry <akhenry@gmail.com>
Date: Tue Jul 19 19:54:52 2016 -0700
Added compatibility layer to support existing plots and historical tables
commit f641edbce7
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Tue Jul 19 18:33:24 2016 -0700
[Frontend] Renew support for Time Conductor v1
Fixes#933
Time Conductors v1 and v2 now build and load their
own isolated CSS files. All previous styling for TCv1
should be re-enabled. Note that Conductor v2 mobile
is not complete yet.
commit 15a608a861
Author: Henry <akhenry@gmail.com>
Date: Mon Jul 18 18:44:29 2016 -0700
Populate format in input fields
commit 334ca64551
Merge: 0af49ef4087b9c
Author: Henry <akhenry@gmail.com>
Date: Mon Jul 18 14:25:02 2016 -0700
Merged open933-frontend
commit 0af49efe06
Author: Henry <akhenry@gmail.com>
Date: Mon Jul 18 08:23:27 2016 -0700
Refactored out modes, time systems, etc.
commit 4087b9cdde
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Fri Jul 15 14:39:29 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
WIP: Fixed look for Firefox
commit 43a804eef4
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Fri Jul 15 07:54:32 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
WIP: Added zoom current range indicator;
tweaks to style
commit b3a4f52fe2
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Thu Jul 14 18:30:49 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
WIP: Adding zoom control with HTML5
input range type; Refactored sass slightly
to move display: inline-block out of mixin
containerBase and into .s-btn.
commit 671e3016d4
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Thu Jul 14 16:40:05 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
New _animations scss include, moved
scss around.
commit 379828315f
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Thu Jul 14 16:39:27 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
New _animations scss include, moved
scss around.
commit 8c5538ec4d
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Thu Jul 14 14:58:18 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
"Sticky" clock anim for LAD mode
commit 2f9fbfef7f
Author: Henry <akhenry@gmail.com>
Date: Wed Jul 13 20:33:47 2016 -0700
More refactoring
commit 2baca659ca
Author: Henry <akhenry@gmail.com>
Date: Wed Jul 13 19:50:58 2016 -0700
Refactoring
commit 8b694ef337
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 13 19:42:51 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
In-progress: color/size tweaks, fixes for espresso
theme
commit e193e3dfba
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 13 19:16:27 2016 -0700
Merge open933 latest, resolve conflicts
Fixes#933
Fair amount of manual fixing in time-conductor.html
commit 8214c8e895
Merge: 33b222514463d3
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 13 19:16:00 2016 -0700
Merge open933 latest, resolve conflicts
Fixes#933
Fair amount of manual fixing in time-conductor.html
commit 33b2225d10
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 13 18:48:17 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
In-progress: restructured markup to move
modeModel farther out; animated icon
commit 14463d39a8
Author: Henry <akhenry@gmail.com>
Date: Wed Jul 13 18:17:27 2016 -0700
Added end delta
commit fcfda50e73
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 13 15:00:16 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
In-progress: color tweaks, bar sizing,
field widths
commit 06af84c161
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 13 13:14:32 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
In-progress: fixed SVG text color, field
styling for fixed vs. real-time, markup cleanup
commit 5238aa2731
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 13 08:07:59 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
In-progress; fixed SVG text color
commit fd29473664
Author: Henry <akhenry@gmail.com>
Date: Tue Jul 12 15:02:39 2016 -0700
Support resize
commit 97f3fd516b
Author: Henry <akhenry@gmail.com>
Date: Tue Jul 12 10:14:26 2016 -0700
Changed default duration to fifteen minutes
commit 088416905d
Author: Henry <akhenry@gmail.com>
Date: Tue Jul 12 10:08:08 2016 -0700
Added duration
commit 2056d87453
Merge: 585da3864ce8a2
Author: Henry <akhenry@gmail.com>
Date: Mon Jul 11 14:27:30 2016 -0700
Merge branch 'open933-frontend' into open933
commit 64ce8a2b2a
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Mon Jul 11 14:03:41 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
Color adjusts, mini super-menu size
and font tweaks, glyphs added to selector,
SVG style fixes in progress
commit 585da38a16
Author: Henry <akhenry@gmail.com>
Date: Mon Jul 11 13:46:46 2016 -0700
Fixed some merge issues
commit bf0e85a94c
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Mon Jul 11 11:35:26 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
Renamed main class; removed unused <style>
defs
commit 84b7a9dc2f
Merge: 7b7b21d11caa83
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Mon Jul 11 11:29:35 2016 -0700
Merge remote-tracking branch 'origin/open933' into open933-frontend
Fixes#933
Conflicts:
platform/features/conductor-v2/src/TimeConductorController.js
commit 11caa8396a
Author: Henry <akhenry@gmail.com>
Date: Mon Jul 11 11:18:23 2016 -0700
Updated modes
commit 0017b77439
Merge: 5cc81ba788483e
Author: Henry <akhenry@gmail.com>
Date: Mon Jul 11 11:06:22 2016 -0700
Merged markup changes
commit 7b7b21d748
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Mon Jul 11 11:05:47 2016 -0700
[Frontend] Styling of Time Conductor v2
Fixes#933
Tweaks to language; tweak to class name in markup
commit 788483ec13
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Mon Jul 11 10:37:08 2016 -0700
[Frontend] Styling of Time Conductor v2
Fixes#933
Tweaks to language
commit 7b19f91ce6
Merge: 0a0bc554e7b69c
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Mon Jul 11 10:31:14 2016 -0700
[Frontend] Merge latest from open933
Fixes#933
Resolve conflicts in
mode-menu.html, mode-selector.html,
time-conductor.html; apply tweaks, language, etc.
commit 5cc81ba12a
Author: Henry <akhenry@gmail.com>
Date: Mon Jul 11 10:26:34 2016 -0700
[Time Conductor] Added mode class to time conductor
commit 0a0bc55f5f
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Fri Jul 8 17:11:43 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#993
In-progress; mode menu names and
descriptors modified, markup cleaned up
commit 4e7b69c4df
Author: Henry <akhenry@gmail.com>
Date: Fri Jul 8 16:57:50 2016 -0700
Enabled fixed and real-time modes
commit cf83040c4b
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Fri Jul 8 16:54:49 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#993
In-progress; Create menu refactoring and new
mini Create menu
commit 32f7bc86af
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Fri Jul 8 16:54:13 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#993
In-progress; class renaming continued,
cleanups in markup file, in-page styles
ported to scss
commit e230b92946
Author: Henry <akhenry@gmail.com>
Date: Fri Jul 8 15:15:12 2016 -0700
Fixed bug with date selector having to be clicked twice
commit 58ed500ecf
Author: Henry <akhenry@gmail.com>
Date: Thu Jul 7 16:57:03 2016 -0700
Time sync via conductor
commit bca5eb0fdb
Author: Henry <akhenry@gmail.com>
Date: Thu Jul 7 09:47:46 2016 -0700
[Time Conductor] #933 Initial markup
* [Core] Log errors from topic
Log full error (including stack trace) when catching errors
from the topic service. Aids debugging of #1303 (and should
aid in future debugging of any similar issues.)
* [API] Fix identifier usage in handleMutation
To address console errors observed in the context of #1303
* [Views] Listen to mutation
Listen for mutation instead of watching modified timestamp;
more reliable due to recent API changes. Fixes#1303.
* [Views] Update spec for mct-representation
...to reflect changes for #1303
* [Views] Rewrite mct-view
...to make it a simple way to include non-Angular views, without
integrating unnecessarily with other architectural concerns.
Supports restoration of view registration functionality to fix
#1307
* [API] Use identifier as property name
* [API] Add adapter capability
...to simplify adapter layer (allowing new-style objects to be
retrieved via capability.)
* [API] Add AdaptedViewController
* [API] Add template for adapted views
* [API] Add AdaptedViewPolicy
* [API] Wire in view adapter
* [API] Fix adapter capability implementation
* [API] Don't create new scope from mct-view
...to allow use on same element as ng-controller (and because a
new scope just is not necessary.)
Remove 'install' step from gulp develop task, instead
run 'stylesheets' to build stylesheets. Result is much
faster execution of gulp develop as is expected for
a development tool.
Fixes https://github.com/nasa/openmct/issues/1268.
My Items root is now opt-in, and does not need to be enabled for all
deployments. My Items is enabled by default in the development edition.
https://github.com/nasa/openmct/issues/1251
Overload addRoot method to support async root loading. By supplying a
function you can defer loading to later, and by allowing those functions
to return a promise, execution can be asynchronous.
Remove "removeRoot" as the assumption will be that roots are opt in, and
instead of removing a Root, an application developer should never configure
it in the first place.
Fixes https://github.com/nasa/openmct/issues/1251
New test suite for the notification service covering common use cases. Fixed the bug where autoDismiss would be set wrong for info notifications; also treating info notifications appropriately now.
In the spec: NotificationService knows about concepts like "info", "alert" and "error" only, having a plain info notification model called successModel doesn't help much and may be confusing at times (makes you think it's something the service treats separately).
Adds miscellaneous platform updates to include templates
via the RequireJS text plugin; to support modification of
asset paths; and to support priority order for gestures.
Supports integration of new API, #1124.
Issue #1184. This allows for a generically sized text area in forms. I am
anticipating some potential feedback on this given the approach and the sizing
I chose may or may not be ideal for your requirements.
The images were being cutoff due to the "top" attribute of .gl-plot
not changing when the buttons were hidden. The buttons are now
hidden by CSS class rather than ng-show, which makes updating the
.gl-plot top attribute easier.
I would prefer this be passed in via the bundle, but it continues to fail
saying "Unknown Provider". I have chosen to require them into the module
the old-fashioned way, then allow an injectible dependency to override.
It's worth noting that I changed the .gl-plot position from relative to absolute
in an attempt to match the results to a similar requirement in MCT Table. Setting
to absolute caused no regressions as far as I could tell, but I have not attempted
browsers outside of Chrome.
Fixes#1161
New .s-selectable, .s-hover, .s-selected and .s-moveable classes
New supporting color constants
Markup in layouts, fixed position/panels updated
Removed old commented code
Extends PlotController by adding three new scoped methods:
exportPDF, exportPNG, exportJPG.
All three methods use basically the same steps. The HTML node
of the plot is passed through html2canvas which generates a canvas.
From the canvas we export a blob, PNG, or JPG then save the file.
🐙
# Author Checklist:
Changes appear to address issue? Y
Appropriate unit tests included? N/A - No code changes
Code style and in-line documentation are appropriate? N/A
Commit messages meet standards? Y
Addresses issue #1158
Passes query parameters on to proxyUrl proxied URL
remove the url parameter before passing
Naming convention for variables
Re-order code to reuse variable
Clicking `Long-duration testing` was showing the right doc but wrong section due to typo in `procedures.md#long-duration-testng`. Fixed it, so now clicking `Long-duration testing` will take us to the right section.
Changed test to ensure checkAll and it's appropriate filter string are
set whenever checkAll is changed.
Removed redundant line checking for a filter string of 'NONE' as this
is no longer a possibility.
Changed test to work properly with #1117 fix.
Checks if checkAll gets checked when no options are checked.
Checks if changing checkAll updates the filter string to ''
Upon deselecting every filter, the search returns nothing. This serves
no useful purpose as discussed in #1117. Now deselecting every filter
automatically selects 'All'.
...as this will trigger a refresh of the mct-representation for
the tree, which will in turn create a new mct-tree instance,
resulting in any expanded/collapsed state being lost.
Fixes#1008.
TreeView's observers will be called when the selected domain object
changes, which can occur for one of two reasons:
1. Because a new value was set externally, from mct-tree.
2. Because a new value was selected, by the user.
In the latter case a $apply is needed, but in the former it is not
(and causes an error.) However, when that case occurs, the value in
scope will be up to date already (it was a watch that triggered the
call to treeView.value) so no assignment or $apply is necessary.
Fixes#1114.
...to account for changes to separate out transaction management,
including removal of specs made obsolete (as tested behavior has
been moved to TransactionManager or was already redundant to
behavior from the undecorated PersistenceCapability)
commit 3f199a9f06
Merge: 27fe4ed736cba7
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date: Mon Jun 27 09:04:40 2016 -0700
Merge remote-tracking branch 'origin/master' into clear-transactions-1046
Conflicts:
platform/commonUI/edit/src/actions/SaveAsAction.js
commit 27fe4edb30
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date: Wed Jun 22 15:04:06 2016 -0700
[Edit] Mark restartTransaction as private API
commit 21d1938a0f
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date: Wed Jun 22 15:03:17 2016 -0700
[Edit] Clarify JSDoc
commit 06a83f9fa9
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date: Wed Jun 22 15:01:35 2016 -0700
[Edit] Update failing spec
commit 1f525160e0
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date: Wed Jun 22 14:52:43 2016 -0700
[Edit] Refer to correct variable
...when clearing transactions after a restartTransaction
commit b60e94bce4
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date: Wed Jun 22 14:38:54 2016 -0700
[Edit] Clear transactions on Save As
...such that only persistence calls associated with the
saved clones are actually issued. Fixes#1046.
Show a blocking dialog while the save action is being performed.
Prevents users from pressing save a second time or performing
further actions while a save is in progress.
Fixes https://github.jpl.nasa.gov/MissionControl/vista/issues/362
Remove domain objects from the active transaction when they
are refreshed, and use this from the SaveAsAction to prevent
saving unintended changes. Fixes#1046
Set the min height for the plot element based on user feedback for
minimum plot size that they find useful. Plot ticks may overlap
but that is expected to be fixed in a future release.
Fixes https://github.com/nasa/openmct/issues/1048
Reposition scroll bar in Timeline with RAF instead of timeout;
this ensures that scroll bar is positioned after the current
digest (updating the width) but before the results are rendered
(avoiding flicker.) Fixes#997
Whenever timeline zoom controller sets scroll, check to see if
there may be a width violation that causes scroll to be reset,
and retry on a timeout if so. Fixes#936.
fixes#709
- When going from browse to edit mode, the wrapper
around the object being edited will now transition in
from its edges, and the edit controls toolbar will
animate its height;
- There is no transition applied for going from edit
to browse; to do this we'd need to mod the JS on
exiting to look for the end of an animation event;
- Tested in Chrome, Safari and Firefox;
- May not be smooth with very complex objects
like Layouts with a large number of components;
- Added transitional animations to .l-object-wrapper
and .l-edit-controls;
- New 'animTo' mixin added to _effects.scss;
...from TimelineController. Will replace with a more straightforward
call to the zoom controller that uses the exposed end time instead,
to address #981.
fixes#973
- Done;
- Styling for Export button and tabular view
area in layout frame context;
- Export button in frame context now
hidden until user hovers over tabular
view area in frame, includes animated
transition;
- Normalized line-height on button and
menu elements in frame context;
- Layout/markup/SASS for historical and
RT tabular view modified;
- Converted imagery.html layout
to use flexbox;
fixes#973
- In progress:
- Added new download symbol to symbols font;
- Added export symbol to export button;
- Layout/markup/SASS for historical tabular
view modified;
Mutation now triggers persistence; this means that some legacy code
does or may issue redundant calls to persistence after mutating.
To avoid issuing redundant calls all the way down to the
persistenceService, bail out of persist calls early if there are
no unsaved changes to persist.
<!--- Note: Please open the PR in draft form until you are ready for active review. -->
Closes <!--- Insert Issue Number(s) this PR addresses. Start by typing # will open a dropdown of recent issues. Note: this does not work on PRs which target release branches -->
### Describe your changes:
<!--- Describe your changes and add any comments about your approach either here or inline if code comments aren't added -->
### All Submissions:
* [ ] Have you followed the guidelines in our [Contributing document](https://github.com/nasa/openmct/blob/master/CONTRIBUTING.md)?
* [ ] Have you checked to ensure there aren't other open [Pull Requests](https://github.com/nasa/openmct/pulls) for the same update/change?
* [ ] Is this change backwards compatible? For example, developers won't need to change how they are calling the API or how they've extended core plugins such as Tables or Plots.
### Author Checklist
* [ ] Changes address original issue?
* [ ] Unit tests included and/or updated with changes?
* [ ] Command line build passes?
* [ ] Has this been smoke tested?
* [ ] Testing instructions included in associated issue?
### Reviewer Checklist
* [ ] Changes appear to address issue?
* [ ] Changes appear not to be breaking changes?
* [ ] Appropriate unit tests included?
* [ ] Code style and in-line documentation are appropriate?
* [ ] Commit messages meet standards?
* [ ] Has associated issue been labelled unverified? (only applicable if this PR closes the issue)
* [ ] Has associated issue been labelled bug? (only applicable if this PR is for a bug fix)
@ -10,7 +10,7 @@ accept changes from external contributors.
The short version:
1. Write your contribution.
1. Write your contribution or describe your idea in the form of an [GitHub issue](https://github.com/nasa/openmct/issues/new/choose) or [Starting a GitHub Discussion](https://github.com/nasa/openmct/discussions)
2. Make sure your contribution meets code, test, and commit message
standards as described below.
3. Submit a pull request from a topic branch back to `master`. Include a check
@ -18,6 +18,7 @@ The short version:
for review.)
4. Respond to any discussion. When the reviewer decides it's ready, they
will merge back `master` and fill out their own check list.
5. If you are a first-time contributor, please see [this discussion](https://github.com/nasa/openmct/discussions/3821) for further information.
## Contribution Process
@ -43,9 +44,9 @@ the check-in process. These roles are:
Three basic types of branches may be included in the above repository:
1. Master branch.
2. Topic branches.
3. Developer branches.
1. Master branch
2. Topic branches
3. Developer branches
Branches which do not fit into the above categories may be created and used
during the course of development for various reasons, such as large-scale
@ -103,17 +104,26 @@ the name chosen could not be mistaken for a topic or master branch.
### Merging
When development is complete on an issue, the first step toward merging it
back into the master branch is to file a Pull Request. The contributions
back into the master branch is to file a Pull Request (PR). The contributions
should meet code, test, and commit message standards as described below,
and the pull request should include a completed author checklist, also
as described below. Pull requests may be assigned to specific team
members when appropriate (e.g. to draw to a specific person's attention.)
members when appropriate (e.g. to draw to a specific person's attention).
Code review should take place using discussion features within the pull
request. When the reviewer is satisfied, they should add a comment to
the pull request containing the reviewer checklist (from below) and complete
the merge back to the master branch.
Additionally:
* Every pull request must link to the issue that it addresses. Eg. “Addresses #1234” or “Closes #1234”. This is the responsibility of the pull request’s __author__. If no issue exists, [create one](https://github.com/nasa/openmct/issues/new/choose).
* Every __author__ must include testing instructions. These instructions should identify the areas of code affected, and some minimal test steps. If addressing a bug, reproduction steps should be included, if they were not included in the original issue. If reproduction steps were included on the original issue, and are sufficient, refer to them.
* A pull request that closes an issue should say so in the description. Including the text “Closes #1234” will cause the linked issue to be automatically closed when the pull request is merged. This is the responsibility of the pull request’s __author__.
* When a pull request is merged, and the corresponding issue closed, the __reviewer__ must add the tag “unverified” to the original issue. This will indicate that although the issue is closed, it has not been tested yet.
* Every PR must have two reviewers assigned, though only one approval is necessary for merge.
* Changes to API require approval by a senior developer.
* When creating a PR, it is the author's responsibility to apply any priority label from the issue to the PR as well. This helps with prioritization.
## Standards
Contributions to Open MCT are expected to meet the following standards.
@ -122,97 +132,104 @@ changes.
### Code Standards
JavaScript sources in Open MCT must satisfy JSLint under its default
settings. This is verified by the command line build.
JavaScript sources in Open MCT must satisfy the ESLint rules defined in
this repository. This is verified by the command line build.
#### Code Guidelines
JavaScript sources in Open MCT should:
The following guidelines are provided for anyone contributing source code to the Open MCT project:
* Use four spaces for indentation. Tabs should not be used.
* Include JSDoc for any exposed API (e.g. public methods, constructors.)
* Include non-JSDoc comments as-needed for explaining private variables,
methods, or algorithms when they are non-obvious.
* Define one public class per script, expressed as a constructor function
returned from an AMD-style module.
* Follow “Java-like” naming conventions. These includes:
* Classes should use camel case, first letter capitalized
(e.g. SomeClassName.)
* Methods, variables, fields, and function names should use camel case,
first letter lower-case (e.g. someVariableName.) Constants
(variables or fields which are meant to be declared and initialized
statically, and never changed) should use only capital letters, with
underscores between words (e.g. SOME_CONSTANT.)
* File name should be the name of the exported class, plus a .js extension
(e.g. SomeClassName.js)
* Avoid anonymous functions, except when functions are short (a few lines)
and/or their inclusion makes sense within the flow of the code
(e.g. as arguments to a forEach call.)
* Avoid deep nesting (especially of functions), except where necessary
(e.g. due to closure scope.)
* End with a single new-line character.
* Expose public methods by declaring them on the class's prototype.
* Within a given function's scope, do not mix declarations and imperative
1. Write clean code. Here’s a good summary - https://github.com/ryanmcdermott/clean-code-javascript.
1. Include JSDoc for any exposed API (e.g. public methods, classes).
1. Include non-JSDoc comments as-needed for explaining private variables,
methods, or algorithms when they are non-obvious. Otherwise code
should be self-documenting.
1. Classes and Vue components should use camel case, firstletter capitalized
(e.g. SomeClassName).
1. Methods, variables, fields, events, and function names should use camelCase,
first letter lower-case (e.g. someVariableName).
1. Source files that export functions should use camelCase, first letter lower-case (eg. testTools.js)
1. Constants (variables or fields which are meant to be declared and
initialized statically, and never changed) should use only capital
letters, with underscores between words (e.g. SOME_CONSTANT). They should always be declared as `const`s
1. File names should be the name of the exported class, plus a .js extension
(e.g. SomeClassName.js).
1. Avoid anonymous functions, except when functions are short (one or two lines)
and their inclusion makes sense within the flow of the code
(e.g. as arguments to a forEach call). Anonymous functions should always be arrow functions.
1. Named functions are preferred over functions assigned to variables.
eg.
```JavaScript
function renameObject(object, newName) {
Object.name = newName;
}
```
is preferable to
```JavaScript
const rename = (object, newName) => {
Object.name = newName;
}
```
1. Avoid deep nesting (especially of functions), except where necessary
(e.g. due to closure scope).
1. End with a single new-line character.
1. Always use ES6 `Class`es and inheritence rather than the pre-ES6 prototypal
pattern.
1. Within a given function's scope, do not mix declarations and imperative
code, and present these in the following order:
* First, variable declarations and initialization.
* Second, function declarations.
* Third, imperative statements.
* Finally, the returned value.
* Secondly, imperative statements.
* Finally, the returned value. A single return statement at the end of the function should be used, except where an early return would improve code clarity.
1. Avoid the use of "magic" values.
eg.
```JavaScript
const UNAUTHORIZED = 401;
if (responseCode === UNAUTHORIZED)
```
is preferable to
```JavaScript
if (responseCode === 401)
```
1. Use the ternary operator only for simple cases such as variable assignment. Nested ternaries should be avoided in all cases.
1. Test specs should reside alongside the source code they test, not in a separate directory.
1. Organize code by feature, not by type.
eg.
```
- telemetryTable
- row
TableRow.js
TableRowCollection.js
TableRow.vue
- column
TableColumn.js
TableColumn.vue
plugin.js
pluginSpec.js
```
is preferable to
```
- telemetryTable
- components
TableRow.vue
TableColumn.vue
- collections
TableRowCollection.js
TableColumn.js
TableRow.js
plugin.js
pluginSpec.js
```
Deviations from Open MCT code style guidelines require two-party agreement,
typically from the author of the change and its reviewer.
#### Code Example
```js
/*global define*/
/**
* Bundles should declare themselves as namespaces in whichever source
* file is most like the "main point of entry" to the bundle.
* @namespace some/bundle
*/
define(
['./OtherClass'],
function(OtherClass){
"use strict";
/**
* A summary of how to use this class goes here.
*
* @constructor
* @memberof some/bundle
*/
functionExampleClass(){
}
// Methods which are not intended for external use should
// not have JSDoc (or should be marked @private)
ExampleClass.prototype.privateMethod=function(){
};
/**
* A summary of this method goes here.
* @param {number} n a parameter
* @returns {number} a return value
*/
ExampleClass.prototype.publicMethod=function(n){
returnn*2;
}
returnExampleClass;
}
);
```
### Test Standards
Automated testing shall occur whenever changes are merged into the main
development branch and must be confirmed alongside any pull request.
Automated tests are typically unit tests which exercise individual software
components. Tests are subject to code review along with the actual
implementation, to ensure that tests are applicable and useful.
Automated tests are tests which exercise plugins, API, and utility classes.
Tests are subject to code review along with the actual implementation, to
ensure that tests are applicable and useful.
Examples of useful tests:
* Tests which replicate bugs (or their root causes) to verify their
@ -222,8 +239,26 @@ Examples of useful tests:
* Tests which verify expected interactions with other components in the
system.
During automated testing, code coverage metrics will be reported. Line
coverage must remain at or above 80%.
#### Guidelines
* 100% statement coverage is achievable and desirable.
* Do blackbox testing. Test external behaviors, not internal details. Write tests that describe what your plugin is supposed to do. How it does this doesn't matter, so don't test it.
* Unit test specs for plugins should be defined at the plugin level. Start with one test spec per plugin named pluginSpec.js, and as this test spec grows too big, break it up into multiple test specs that logically group related tests.
* Unit tests for API or for utility functions and classes may be defined at a per-source file level.
* Wherever possible only use and mock public API, builtin functions, and UI in your test specs. Do not directly invoke any private functions. ie. only call or mock functions and objects exposed by openmct.* (eg. openmct.telemetry, openmct.objectView, etc.), and builtin browser functions (fetch, requestAnimationFrame, setTimeout, etc.).
* Where builtin functions have been mocked, be sure to clear them between tests.
* Test at an appropriate level of isolation. Eg.
* If you’re testing a view, you do not need to test the whole application UI, you can just fetch the view provider using the public API and render the view into an element that you have created.
* You do not need to test that the view switcher works, there should be separate tests for that.
* You do not need to test that telemetry providers work, you can mock openmct.telemetry.request() to feed test data to the view.
* Use your best judgement when deciding on appropriate scope.
* Automated tests for plugins should start by actually installing the plugin being tested, and then test that installing the plugin adds the desired features and behavior to Open MCT, observing the above rules.
* All variables used in a test spec, including any instances of the Open MCT API should be declared inside of an appropriate block scope (not at the root level of the source file), and should be initialized in the relevant beforeEach block. `beforeEach` is preferable to `beforeAll` to avoid leaking of state between tests.
* A `afterEach` or `afterAll` should be used to do any clean up necessary to prevent leakage of state between test specs. This can happen when functions on `window` are wrapped, or when the URL is changed. [A convenience function](https://github.com/nasa/openmct/blob/master/src/utils/testing.js#L59) is provided for resetting the URL and clearing builtin spies between tests.
* If writing unit tests for legacy Angular code be sure to follow [best practices in order to avoid memory leaks](https://www.thecodecampus.de/blog/avoid-memory-leaks-angularjs-unit-tests/).
#### Examples
* [Example of an automated test spec for an object view plugin](https://github.com/nasa/openmct/blob/master/src/plugins/telemetryTable/pluginSpec.js)
* [Example of an automated test spec for API](https://github.com/nasa/openmct/blob/master/src/api/time/TimeAPISpec.js)
### Commit Message Standards
@ -234,7 +269,7 @@ Commit messages should:
 line of white space.
* Contain a short (usually one word) reference to the feature or subsystem
the commit effects, in square brackets, at the start of the subject line
(e.g. `[Documentation] Draft of check-in process`)
(e.g. `[Documentation] Draft of check-in process`).
* Contain a reference to a relevant issue number in the body of the commit.
* This is important for traceability; while branch names also provide this,
you cannot tell from looking at a commit what branch it was authored on.
@ -250,9 +285,9 @@ Commit messages should:
Commit messages should not:
* Exceed 54 characters in length on the subject line.
* Exceed 72 characters in length in the body of the commit.
* Exceed 72 characters in length in the body of the commit,
* Except where necessary to maintain the structure of machine-readable or
machine-generated text (e.g. error messages)
machine-generated text (e.g. error messages).
See [Contributing to a Project](http://git-scm.com/book/ch5-2.html) from
Pro Git by Shawn Chacon and Ben Straub for a bit of the rationale behind
@ -260,42 +295,37 @@ these standards.
## Issue Reporting
Issues are tracked at https://github.com/nasa/openmct/issues
Issues should include:
* A short description of the issue encountered.
* A longer-form description of the issue encountered. When possible, steps to
reproduce the issue.
* When possible, a description of the impact of the issue. What use case does
it impede?
* An assessment of the severity of the issue.
Issues are tracked at https://github.com/nasa/openmct/issues.
Issue severity is categorized as follows (in ascending order):
* _Trivial_: Minimal impact on the usefulness and functionality of the
software; a "nice-to-have."
* _(Unspecified)_: Major loss of functionality or impairment of use.
* _Critical_: Large-scale loss of functionality or impairment of use,
such that remaining utility becomes marginal.
* _Blocker_: Harmful or otherwise unacceptable behavior. Must fix.
* _Trivial_: Minimal impact on the usefulness and functionality of the software; a "nice-to-have." Visual impact without functional impact,
* _Medium_: Some impairment of use, but simple workarounds exist
* _Critical_: Significant loss of functionality or impairment of use. Display of telemetry data is not affected though.
* _Blocker_: Major functionality is impaired or lost, threatening mission success. Display of telemetry data is impaired or blocked by the bug, which could lead to loss of situational awareness.
## Check Lists
The following check lists should be completed and attached to pull requests
when they are filed (author checklist) and when they are merged (reviewer
checklist.)
checklist).
### Author Checklist
1. Changes address original issue?
2. Unit tests included and/or updated with changes?
Open MCT, Copyright (c) 2014-2022, United States Government as represented by the Administrator of the National Aeronautics and Space Administration. All rights reserved.
Open MCT is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Open MCT Web, Copyright (c) 2014-2015, United States Government as represented by the Administrator of the National Aeronautics and Space Administration. All rights reserved.
Open MCT Web is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Open MCT Web includes source code licensed under additional open source licenses as follows.
## Software Components Licenses
This software includes components released under the following licenses:
SuperSocket is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
---
### SuperWebSocket
#### Info
* Link: https://superswebocket.codeplex.com/
* Version: 0.9.0.2
* Author: Kerry Jiang
* Description: WebSocket implementation for client-server communication
SuperWebSocket is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
log4net is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
---
### Blanket.js
#### Info
* Link: http://blanketjs.org/
* Version: 1.1.5
* Author: Alex Seville
* Description: Code coverage measurement and reporting
#### License
Copyright (c) 2013 Alex Seville
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---
### Jasmine
#### Info
* Link: http://jasmine.github.io/
* Version: 1.3.1
* Author: Pivotal Labs
* Description: Unit testing
#### License
Copyright (c) 2008-2011 Pivotal Labs
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---
### RequireJS
#### Info
* Link: http://requirejs.org/
* Version: 2.1.22
* Author: The Dojo Foundation
* Description: Script loader
#### License
Copyright (c) 2010-2015, The Dojo Foundation
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---
### requirejs-text
#### Info
* Link: https://github.com/requirejs/text
* Version: 2.0.14
* Author: The Dojo Foundation
* Description: Text loading plugin for RequireJS
#### License
Copyright (c) 2010-2014, The Dojo Foundation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
---
### AngularJS
#### Info
* Link: http://angularjs.org/
* Version: 1.4.4
* Author: Google
* Description: Client-side web application framework
#### License
Copyright (c) 2010-2015 Google, Inc. http://angularjs.org
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---
### Angular-Route
#### Info
* Link: http://angularjs.org/
* Version: 1.4.4
* Author: Google
* Description: Client-side view routing
#### License
Copyright (c) 2010-2015 Google, Inc. http://angularjs.org
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* Authors: Yehuda Katz, Tom Dale, Stefan Penner and contributors
* Description: Promise polyfill for pre-ECMAScript 6 browsers
#### License
Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---
### Math.uuid.js
#### Info
* Link: https://github.com/broofa/node-uuid
* Version: 1.4.7
* Author: Robert Kieffer
* Description: Unique identifer generation.
#### License
Copyright (c) 2010-2012 Robert Kieffer
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---
### Normalize.css
#### Info
* Link: https://github.com/necolas/normalize.css
* Version: 1.1.2
* Authors: Nicolas Gallagher, Jonathan Neal
* Description: Browser style normalization
#### License
Copyright (c) Nicolas Gallagher and Jonathan Neal
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---
### Moment.js
#### Info
* Link: http://momentjs.com
* Version: 2.11.1
* Authors: Tim Wood, Iskren Chernev, Moment.js contributors
* Description: Time/date parsing/formatting
#### License
Copyright (c) 2011-2014 Tim Wood, Iskren Chernev, Moment.js contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---
### Zepto
#### Info
* Link: http://zeptojs.com/
* Version: 1.1.6
* Authors: Thomas Fuchs
* Description: DOM manipulation
#### License
Copyright (c) 2010-2016 Thomas Fuchs
http://zeptojs.com/
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---
### Json.NET
#### Info
* Link: http://www.newtonsoft.com/json
* Version: 6.0.8
* Author: Newtonsoft
* Description: JSON serialization/deserialization
#### License
Copyright (c) 2007 James Newton-King
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---
### Nancy
#### Info
* Link: http://nancyfx.org
* Version: 0.23.2
* Author: Andreas Håkansson, Steven Robbins and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---
### Nancy.Hosting.Self
#### Info
* Link: http://nancyfx.org
* Version: 0.23.2
* Author: Andreas Håkansson, Steven Robbins and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# Open MCT [](http://www.apache.org/licenses/LICENSE-2.0) [](https://lgtm.com/projects/g/nasa/openmct/context:javascript) [](https://codecov.io/gh/nasa/openmct) [](https://percy.io/b2e34b17/openmct) [](https://www.npmjs.com/package/openmct)
Open MCT is a web-based platform for mission operations user interface
software.
Open MCT (Open Mission Control Technologies) is a next-generation mission control framework for visualization of data on desktop and mobile devices. It is developed at NASA's Ames Research Center, and is being used by NASA for data analysis of spacecraft missions, as well as planning and operation of experimental rover systems. As a generalizable and open source framework, Open MCT could be used as the basis for building applications for planning, operation, and analysis of any systems producing telemetry data.
## Bundles
Please visit our [Official Site](https://nasa.github.io/openmct/) and [Getting Started Guide](https://nasa.github.io/openmct/getting-started/)
A bundle is a group of software components (including source code, declared
as AMD modules, as well as resources such as images and HTML templates)
that are intended to be added or removed as a single unit. A plug-in for
Open MCT will be expressed as a bundle; platform components are also
expressed as bundles.
Once you've created something amazing with Open MCT, showcase your work in our GitHub Discussions [Show and Tell](https://github.com/nasa/openmct/discussions/categories/show-and-tell) section. We love seeing unique and wonderful implementations of Open MCT!
A bundle is also just a directory which contains a file `bundle.json`,
which declares its contents.
## See Open MCT in Action
The file `bundles.json` (note the plural), at the top level of the
repository, is a JSON file containing an array of all bundles (expressed as
directory names) to include in a running instance of Open MCT. Adding or
removing paths from this list will add or remove bundles from the running
application.
Try Open MCT now with our [live demo](https://openmct-demo.herokuapp.com/).
Support for our legacy bundle-based API, and the libraries that it was built on (like Angular 1.x), have now been removed entirely from this repository.
For now if you have an Open MCT application that makes use of the legacy API, [a plugin](https://github.com/nasa/openmct-legacy-plugin) is provided that bootstraps the legacy bundling mechanism and API. This plugin will not be maintained over the long term however, and the legacy support plugin will not be tested for compatibility with future versions of Open MCT. It is provided for convenience only.
### How do I know if I am using legacy API?
You might still be using legacy API if your source code
* Contains files named bundle.js, or bundle.json,
* Makes calls to `openmct.$injector()`, or `openmct.$angular`,
* Makes calls to `openmct.legacyRegistry`, `openmct.legacyExtension`, or `openmct.legacyBundle`.
### What should I do if I am using legacy API?
Please refer to [the modern Open MCT API](https://nasa.github.io/openmct/documentation/). Post any questions to the [Discussions section](https://github.com/nasa/openmct/discussions) of the Open MCT GitHub repository.
## Building and Running Open MCT Locally
Building and running Open MCT in your local dev environment is very easy. Be sure you have [Git](https://git-scm.com/downloads) and [Node.js](https://nodejs.org/) installed, then follow the directions below. Need additional information? Check out the [Getting Started](https://nasa.github.io/openmct/getting-started/) page on our website.
(These instructions assume you are installing as a non-root user; developers have [reported issues](https://github.com/nasa/openmct/issues/1151) running these steps with root privileges.)
1. Clone the source code
`git clone https://github.com/nasa/openmct.git`
2. Install development dependencies. Note: Check the package.json engine for our tested and supported node versions.
`npm install`
3. Run a local development server
`npm start`
Open MCT is now running, and can be accessed by pointing a web browser at [http://localhost:8080/](http://localhost:8080/)
## Documentation
Documentation is available on the [Open MCT website](https://nasa.github.io/openmct/documentation/).
### Examples
The clearest examples for developing Open MCT plugins are in the
[tutorials](https://github.com/nasa/openmct-tutorial) provided in
our documentation.
We want Open MCT to be as easy to use, install, run, and develop for as
possible, and your feedback will help us get there! Feedback can be provided via [GitHub issues](https://github.com/nasa/openmct/issues/new/choose), [Starting a GitHub Discussion](https://github.com/nasa/openmct/discussions), or by emailing us at [arc-dl-openmct@mail.nasa.gov](mailto:arc-dl-openmct@mail.nasa.gov).
## Building Applications With Open MCT
Open MCT is built using [`npm`](http://npmjs.com/) and [`webpack`](https://webpack.js.org/).
See our documentation for a guide on [building Applications with Open MCT](https://github.com/nasa/openmct/blob/master/API.md#starting-an-open-mct-application).
## Plugins
Open MCT can be extended via plugins that make calls to the Open MCT API. A plugin is a group
of software components (including source code and resources such as images and HTML templates)
that is intended to be added or removed as a single unit.
As well as providing an extension mechanism, most of the core Open MCT codebase is also
written as plugins.
For information on writing plugins, please see [our API documentation](https://github.com/nasa/openmct/blob/master/API.md#plugins).
## Tests
Tests are written for [Jasmine 1.3](http://jasmine.github.io/1.3/introduction.html)
Tests are written for [Jasmine 3](https://jasmine.github.io/api/3.1/global)
and run by [Karma](http://karma-runner.github.io). To run:
`npm test`
@ -38,54 +94,9 @@ naming convention is otherwise the same.)
### Test Reporting
When `npm test` is run, test results will be written as HTML to
`target/tests`. Code coverage information is written to `target/coverage`.
`dist/reports/tests/`. Code coverage information is written to `dist/reports/coverage`.
### Functional Testing
The tests described above are all at the unit-level; an additional
test suite using [Protractor](https://angular.github.io/protractor/)
is under development, in the `protractor` folder.
To run:
* Install protractor following the instructions above.
*`cd protractor`
*`npm install`
*`npm run all`
## Build
Open MCT is built using [`npm`](http://npmjs.com/)
and [`gulp`](http://gulpjs.com/).
To build:
`npm run prepublish`
This will compile and minify JavaScript sources, as well as copy over assets.
The contents of the `dist` folder will contain a runnable Open MCT
instance (e.g. by starting an HTTP server in that directory), including:
* A `main.js` file containing Open MCT source code.
* Various assets in the `example` and `platform` directories.
* An `index.html` that runs Open MCT in its default configuration.
Additional `gulp` tasks are defined in [the gulpfile](gulpfile.js).
### Building Documentation
Open MCT's documentation is generated by an
[npm](https://www.npmjs.com/)-based build. It has additional dependencies that
may not be available on every platform and thus is not covered in the standard
npm install. Ensure your system has [libcairo](http://cairographics.org/)
installed and then run the following commands:
*`npm install`
*`npm install canvas nomnoml`
*`npm run docs`
Documentation will be generated in `target/docs`.
Code Coverage Reports are available from [codecov.io](https://app.codecov.io/gh/nasa/openmct/)
# Glossary
@ -95,11 +106,8 @@ addressed (either by updating this glossary or changing code to reflect
correct usage.) Other developer documentation, particularly in-line
documentation, may presume an understanding of these terms.
* _bundle_: A bundle is a removable, reusable grouping of software elements.
The application is composed of bundles. Plug-ins are bundles. For more
information, refer to framework documentation (under `platform/framework`.)
* _capability_: An object which exposes dynamic behavior or non-persistent
state associated with a domain object.
* _plugin_: A plugin is a removable, reusable grouping of software elements.
The application is composed of plugins.
* _composition_: In the context of a domain object, this refers to the set of
other domain objects that compose or are contained by that object. A domain
object's composition is the set of domain objects that should appear
@ -114,13 +122,8 @@ documentation, may presume an understanding of these terms.
* _domain object_: A meaningful object to the user; a distinct thing in
the work support by Open MCT. Anything that appears in the left-hand
tree is a domain object.
* _extension_: An extension is a unit of functionality exposed tothe
platform in a declarative fashion by a bundle. For more
information, refer to framework documentation (under `platform/framework`.)
* _id_: A string which uniquely identifies a domain object.
* _key_: When used as an object property, this refers to the machine-readable
identifier for a specific thing in a set of things. (Most often used in the
context of extensions or other similar application-specific object sets.)
* _identifier_: A tuple consisting of a namespace and a key, which together uniquely
identifies a domain object.
* _model_: The persistent state associated with a domain object. A domain
object's model is a JavaScript object which can be converted to JSON
without losing information (that is, it contains no methods.)
@ -132,7 +135,5 @@ documentation, may presume an understanding of these terms.
a user clicks on a domain object in the tree, they are _navigating_ to
it, and it is thereafter considered the _navigated_ object (until the
user makes another such choice.)
* _space_: A name used to identify a persistence store. Interactions with
persistence with generally involve a `space` parameter in some form, to
distinguish multiple persistence stores from one another (for cases
where there are multiple valid persistence locations available.)
* _namespace_: A name used to identify a persistence store. A running open MCT
application could potentially use multiple persistence stores, with the
The Open MCT team secures our code base using a combination of code review, dependency review, and periodic security reviews. Static analysis performed during automated verification additionally safeguards against common coding errors which may result in vulnerabilities.
### Reporting a Vulnerability
For general defects, please for a [Bug Report](https://github.com/nasa/openmct/issues/new/choose)
To report a vulnerability for Open MCT please send a detailed report to [arc-dl-openmct](mailto:arc-dl-openmct@mail.nasa.gov).
See our [top-level security policy](https://github.com/nasa/openmct/security/policy) for additional information.
### CodeQL and LGTM
The [CodeQL GitHub Actions workflow](https://github.com/nasa/openmct/blob/master/.github/workflows/codeql-analysis.yml) is available to the public. To review the results, fork the repository and run the CodeQL workflow.
CodeQL is run for every pull-request in GitHub Actions.
The project is also monitored by [LGTM](https://lgtm.com/projects/g/nasa/openmct/) and is available to public.
### ESLint
Static analysis is run for every push on the master branch and every pull request on all branches in Github Actions.
For more information about ESLint, visit https://eslint.org/.
### General Support
For additional support, please open a [Github Discussion](https://github.com/nasa/openmct/discussions).
If you wish to report a cybersecurity incident or concern, please contact the NASA Security Operations Center either by phone at 1-877-627-2732 or via email address soc@nasa.gov.
- [Get rid of "extension category" concept.](#get-rid-of-extension-category-concept)
- [Reduce number and depth of extension points](#reduce-number-and-depth-of-extension-points)
- [Composite services should not be the default](#composite-services-should-not-be-the-default)
- [Get rid of views, representations, and templates.](#get-rid-of-views-representations-and-templates)
- [Reducing interface depth (The angular discussion)](#reducing-interface-depth-the-angular-discussion)
- [More angular: for all services](#more-angular-for-all-services)
- [Less angular: only for views](#less-angular-only-for-views)
- [Standard packaging and build system](#standard-packaging-and-build-system)
- [Use systemjs for module loading](#use-systemjs-for-module-loading)
- [Use gulp or grunt for standard tooling](#use-gulp-or-grunt-for-standard-tooling)
- [Package openmctweb as single versioned file.](#package-openmctweb-as-single-versioned-file)
- [Misc Improvements](#misc-improvements)
- [Refresh on navigation](#refresh-on-navigation)
- [Move persistence adapter to promise rejection.](#move-persistence-adapter-to-promise-rejection)
- [Remove bulk requests from providers](#remove-bulk-requests-from-providers)
- [Notes on current API proposals:](#notes-on-current-api-proposals)
- [[1] Footnote: The angular debacle](#1-footnote-the-angular-debacle)
- ["Do or do not, there is no try"](#do-or-do-not-there-is-no-try)
- [A lack of commitment](#a-lack-of-commitment)
- [Commitment is good!](#commitment-is-good)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
# Reducing interface depth (the bundle.json version)
## Imperitive component registries
Transition component registries to javascript, get rid of bundle.json and bundles.json. Prescribe a method for application configuration, but allow flexibility in how application configuration is defined.
Register components in an imperitive fashion, see angularApp.factory, angularApp.controller, etc. Alternatively, implement our own application object with new registries and it's own form of registering objects.
## Get rid of "extension category" concept.
The concept of an "extension category" is itself an extraneous concept-- an extra layer of interface depth, an extra thing to learn before you can say "hello world". Extension points should be clearly supported and documented with whatever interfaces make sense. Developers who wish to add something that is conceptually equivalent to an extension category can do so directly, in the manner that suites their needs, without us forcing a common method on them.
## Reduce number and depth of extension points
Clearly specify supported extension points (e.g. persistence, model providers, telemetry providers, routes, time systems), but don't claim that the system has a clear and perfect repeatable solution for unknown extension types. New extension categories can be implemented in whatever way makes sense, without prescribing "the one and only system for managing extensions".
The underlying problem here is we are predicting needs for extension points where none exist-- if we try and design the extension system before we know how it is used, we design the wrong thing and have to rewrite it later.
## Composite services should not be the default
Understanding composite services, and describing services as composite services can confuse developers. Aggregators are implemented once and forgotten, while decorators tend to be hacky, brittle solutions that are generally needed to avoid circular imports. While composite services are a useful construct, it reduces interface depth to implement them as registries + typed providers.
You can write a provider (provides "thing x" for "inputs y") with a simple interface. A provider has two or more methods:
* a method which takes "inputs y" and returns True if it knows how to provide "thing x", false otherwise.
* one or more methods which provide "thing x" for objects of "inputs y".
Actually checking whether a provider can respond to a request before asking it to do work allows for faster failure and clearer errors when no providers match the request.
## Get rid of views, representations, and templates.
Templates are an implementation detail that should be handled by module loaders. Views and representations become "components," and a new concept, "routes", is used to exposing specific views to end users.
`components` - building blocks for views, have clear inputs and outputs, and can be coupled to other components when it makes sense. (e.g. parent-child components such as menu and menu item), but should have ZERO knowledge of our data models or telemetry apis. They should define data models that enable them to do their job well while still being easy to test.
`routes` - a view type for a given domain object, e.g. a plot, table, display layout, etc. Can be described as "whatever shows in the main screen when you are viewing an object." Handle loading of data from a domain object and passing that data to the view components. Routes should support editing as it makes sense in their own context.
To facilitate testing:
* routes should be testable without having to test the actual view.
* components should be independently testable with zero knowledge of our data models or telemetry APIs.
Component code should be organized side by side, such as:
```
app
|- components
|- productDetail
| |- productDetail.js
| |- productDetail.css
| |- productDetail.html
| |- productDetailSpec.js
|- productList
|- checkout
|- wishlist
```
Components are not always reusable, and we shouldn't be overly concerned with making them so. If components are heavily reused, they should either be moved to a platform feature (e.g. notifications, indicators), or broken off as an external dependency (e.g. publish mct-plot as mct-plot.js).
# Reducing interface depth (The angular discussion)
Two options here: use more angular, use less angular. Wrapping angular methods does not reduce interface depth and must be avoided.
The primary issue with angular is duplications of concerns-- both angular and the openmctweb platform implement the same tools side by side and it can be hard to comprehend-- it increases interface depth. For other concerns, see footnotes[1].
Wrapping angular methods for non-view related code is confusing to developers because of the random constraints angular places on these items-- developers ultimately have to understand both angular DI and our framework. For example, it's not possible to name the topic service "topicService" because angular expects Services to be implemented by Providers, which is different than our expectation.
To reduce interface depth, we can replace our own provider and registry patterns with angular patterns, or we can only utilize angular view logic, and only use our own DI patterns.
## More angular: for all services
Increasing our commitment to angular would mean using more of the angular factorys, services, etc, and less of our home grown tools. We'd implement our services and extension points as angular providers, and make them configurable via app.config.
As an example, registering a specific type of model provider in angular would look like:
If we wish to use less angular, I would recommend discontinuing use of all angular components that are not view related-- services, factories, $http, etc, and implementing them in our own paradigm. Otherwise, we end up with layered interfaces-- one of the goals we would like to avoid.
# Standard packaging and build system
Standardize the packaging and build system, and completely separate the core platform from deployments. Prescribe a starting point for deployments, but allow flexibility.
## Use systemjs for module loading
Allow developers to use whatever module loading system they'd like to use, while still supporting all standard cases. We should also use this system for loading assets (css, scss, html templates), which makes it easier to implement a single file deployment using standard build tooling.
## Use gulp or grunt for standard tooling
Using gulp or grunt as a task runner would bring us in line with standard web developer workflows and help standardize rendering, deployment, and packaging. Additional tools can be added to the workflow at low cost, simplifying the set up of developer environments.
Gulp and grunt provide useful developer tooling such as live reload, automatic scss/less/etc compiliation, and ease of extensibility for standard production build processes. They're key in decoupling code.
## Package openmctweb as single versioned file.
Deployments should depend on a specific version of openmctweb, but otherwise be allowed to have their own deployment and development toolsets.
Customizations and deployments of openmctweb should not use the same build tooling as the core platform; instead they should be free to use their own build tools as they wish. (We would provide a template for an application, based on our experience with warp-for-rp and vista)
Installation and utilization of openmctweb should be as simple as downloading the js file, including it in your own html page, and then initializing an app and running it. If a developer would prefer, they could use bower or npm to handle installation.
Then, if we're using imperative methods for extending the application we can use the following for basic customization:
This packaging reduces the complexity of managing multiple deployed versions, and also allows us to provide users with incredibly simple tutorials-- they can use whatever tooling they like. For instance, a hello world tutorial may take the option of "exposing a new object in the tree".
```javascript
varmyApp=newOpenMCTWeb();
myApp.roots.addRoot({
id:'myRoot',
name:'Hello World!',
});
myApp.routes.setDefault('myRoot');
myApp.run();
```
# Misc Improvements
## Refresh on navigation
In cases where navigation events change the entire screen, we should be using routes and location changes to navigate between objects. We should be using href for all navigation events.
At the same time, navigating should refresh state of every visible object. A properly configured persistence store will handle caching with standard cache headers and 304 not modified responses, which will provide good performance of object reloads, while helping us ensure that objects are always in sync between clients.
View state (say, the expanded tree nodes) should not be tied to caching of data-- it should be something we intentionally persist and restore with each navigation. Data (such as object definitions) should be reloaded from server as necessary to restore state.
## Move persistence adapter to promise rejection.
Simple: reject on fail, resolve on success.
## Remove bulk requests from providers
Aggregators can request multiple things at once, but individual providers should only have to implement handling at the level of a single request. Each provider can implement it's own internal batching, but it should support making requests at a finer level of detail.
Excessive wrapping of code with $q.all causes additional digest cycles and decreased performance.
For example, instead of every telemetry provider responding to a given telemetry request, aggregators should route each request to the first provider that can fulfill that request.
# Notes on current API proposals:
* [RequireJS for Dependency Injection](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#requirejs-as-dependency-injector): requires other topics to be discussed first.
* [Arbitrary HTML Views](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#arbitrary-html-views): think there is a place for it, requires other topics to be discussed first.
* [Wrap Angular Services](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#wrap-angular-services): No, this is bad.
* [Bundle definitions in Javascript](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#bundle-declarations-in-javascript): Points to a solution, but ultimately requires more discussion.
* [pass around a dependency injector](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#pass-around-a-dependency-injector): No.
* [remove partial constructors](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#remove-partial-constructors): Yes, this should be superseded by another proposal though. The entire concept was a messy solution to dependency injection issues caused by declarative syntax.
* [Rename views to applications](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#rename-views-to-applications): Points to a problem that needs to be solved but I think the name is bad.
* [Provide classes for extensions](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#provide-classes-for-extensions): Yes, in specific places
* [Expose no third-party APIs](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#expose-no-third-party-apis): Completely disagree, points to a real problem with poor angular integration.
* [Register Extensions as Instances instead of Constructors](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#register-extensions-as-instances-instead-of-constructors): Superseded by the fact that we should not hope to implement a generic construct.
* [Nomenclature Change](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#nomenclature-change): Yes, hope to discuss the implications of this more clearly in other proposals.
* [Capabilities as mixins](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#capabilities-as-mixins): Yes.
* [Remove appliesTo methods](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#remove-applies-to-methods): No-- I think some level of this is necessary. I think a more holistic approach to policy is needed. it's a rather complicated system.
* [Revise telemetry API](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#revise-telemetry-api): If we can rough out and agree to the specifics, then Yes. Needs discussion.
* [Allow composite services to fail gracefully](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#allow-composite-services-to-fail-gracefully): No. As mentioned above, I think composite services themselves should be eliminated for a more purpose bound tool.
* [Plugins as angular modules](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#plugins-as-angular-modules): Should we decide to embrace Angular completely, I would support this. Otherwise, no.
* [Contextual Injection](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#contextual-injection): No, don't see a need.
* [Add New Abstractions for Actions](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#add-new-abstractions-for-actions): Worth a discussion.
* [Add gesture handlers](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#add-gesture-handlers): Yes if we can agree on details. We need a platform implementation that is easy to use, but we should not reinvent the wheel.
# [1] Footnote: The angular debacle
## "Do or do not, there is no try"
A commonly voiced concern of embracing angular is the possibility of becoming dependent on a third party framework. This concern is itself detrimental-- if we're afraid of becoming dependent on a third party framework, then we will do a bad job of using the framework, and inevitably will want to stop using it.
If we're using a framework, we need to use it fully, or not use it at all.
## A lack of commitment
A number of the concerns we heard from developers and interns can be attributed to the tenuous relationship between the OpenMCTWeb platform and angular. We claimed to be angular, but we weren't really angular. Instead, we are caught between our incomplete framework paradigm and the angular paradigm. In many cases we reinvented the wheel or worked around functionality that angular provides, and ended up in a more confusing state.
## Commitment is good!
We could just be an application that is built with angular.
An application that is modular and extensible not because it reinvents tools for providing modularity and extensibility, but because it reuses existing tools for modularity and extensibility.
There are benefits to buying into the angular paradigm: shift documentation burden to external project, engage a larger talent pool available both as voluntary open source contributors and as experienced developers for hire, and gain access to an ecosystem of tools that we can use to increase the speed of development.
There are negatives too: Angular is a monolith, it has performance concerns, and an unclear future. If we can't live with it, we should look at alternatives.
| __3__ | Per-sprint testing | Triage | | _Per-sprint testing*_ | Ship and merge sprint branch to master|
* If necessary.
@ -105,14 +105,20 @@ emphasis on testing.
that team may begin work for that sprint during the
third week, since testing and blocker resolution is unlikely
to require all available resources.
* Testing success criteria identified per issue (where necessary). This could be in the form of acceptance tests on the issue or detailing performance tests, for example.
* __Tag-up.__ Check in and status update among development team.
May amend plan for sprint as-needed.
* __Code freeze.__ Any new work from this sprint
(features, bug fixes, enhancements) must be integrated by the
end of the second week of the sprint. After code freeze
(and until the end of the sprint) the only changes that should be
merged into the master branch should directly address issues
needed to pass acceptance testing.
end of the second week of the sprint. After code freeze, a sprint
branch will be created (and until the end of the sprint) the only
changes that should be merged into the sprint branch should
directly address issues needed to pass acceptance testing.
During this time, any other feature development will continue to
be merged into the master branch for the next sprint.
* __Sprint branch merge to master.__ After acceptance testing, the sprint branch
will be merged back to the master branch. Any code conflicts that
Manual, non-rigorous testing of the software and/or specific features
of interest. Verifies that the software runs and that basic functionality
is present.
is present. The outcome of Smoke Testing should be a simplified list of Acceptance Tests which could be executed by another team member with sufficient context.
### Unit Testing
@ -49,7 +49,7 @@ User testing will focus on the following activities:
Issues are reported as a product of both forms of testing.
@ -125,3 +125,22 @@ A release is not closed until both categories have been performed on
the latest snapshot of the software, _and_ no issues labelled as
["blocker" or "critical"](https://github.com/nasa/openmctweb/blob/master/CONTRIBUTING.md#issue-reporting)
remain open.
### Testathons
Testathons can be used as a means of performing per-sprint and per-release testing.
#### Timing
For per-sprint testing, a testathon is typically performed at the beginning of the third week of a sprint, and again later that week to verify any fixes. For per-release testing, a testathon is typically performed prior to any formal testing processes that are applicable to that release.
#### Process
1. Prior to the scheduled testathon, a list will be compiled of all issues that are closed and unverified.
2. For each issue, testers should review the associated PR for testing instructions. See the contributing guide for instructions on [pull requests](https://github.com/nasa/openmct/blob/master/CONTRIBUTING.md#merging).
3. As each issue is verified via testing, any team members testing it should leave a comment on that issue indicating that it has been verified fixed.
4. If a bug is found that relates to an issue being tested, notes should be included on the associated issue, and the issue should be reopened. Bug notes should include reproduction steps.
5. For any bugs that are not obviously related to any of the issues under test, a new issue should be created with details about the bug, including reproduction steps. If unsure about whether a bug relates to an issue being tested, just create a new issue.
6. At the end of the testathon, triage will take place, where all tested issues will be reviewed.
7. If verified fixed, an issue will remain closed, and will have the “unverified” label removed.
8. For any bugs found, a severity will be assigned.
9. A second testathon will be scheduled for later in the week that will aim to address all issues identified as blockers, as well as any other issues scoped by the team during triage.
10. Any issues that were not tested will remain "unverified" and will be picked up in the next testathon.
// Fill text=Properties Title Notes Period Amplitude Offset Data Rate (hz) Phase (radians) Ra >> input[type="text"]
awaitpage.locator('text=Properties Title Notes Period Amplitude Offset Data Rate (hz) Phase (radians) Ra >> input[type="text"]').fill('New Sine Wave Generator');
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.