* 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
* 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.
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
2017-07-21 16:29:54 -07:00
1417 changed files with 52276 additions and 43032 deletions
In future, object providers will support other methods to enable other operations
with persistence stores, such as creating, updating, and deleting objects.
In future, object providers will support other methods to enable other operations with persistence stores, such as creating, updating, and deleting objects.
## Composition Providers
The _composition_ of a domain object is the list of objects it contains, as shown
(for example) in the tree for browsing. Open MCT provides a
The _composition_ of a domain object is the list of objects it contains, as
shown (for example) in the tree for browsing. Open MCT provides a
[default solution](#default-composition-provider) for composition, but there
may be cases where you want to provide the composition of a certain object
(or type of object) dynamically.
@ -255,7 +313,7 @@ Composition Provider:
```javascript
openmct.composition.addProvider({
appliesTo:function(domainObject){
returndomainObject.type==='my-type';
returndomainObject.type==='example.my-type';
},
load:function(domainObject){
returnPromise.resolve(myDomainObjects);
@ -273,8 +331,9 @@ These identifiers will be used to fetch Domain Objects from an [Object Provider]
### Default Composition Provider
The default composition provider applies to any domain object with a `composition`
property. The value of `composition` should be an array of identifiers, e.g.:
The default composition provider applies to any domain object with a
`composition`property. The value of `composition` should be an array of
identifiers, e.g.:
```javascript
vardomainObject={
@ -295,13 +354,17 @@ var domainObject = {
## Telemetry API
The Open MCT telemetry API provides two main sets of interfaces-- one for integrating telemetry data into Open MCT, and another for developing Open MCT visualization plugins utilizing telemetry API.
The Open MCT telemetry API provides two main sets of interfaces-- one for
integrating telemetry data into Open MCT, and another for developing Open MCT
visualization plugins utilizing the telemetry API.
The APIs for visualization plugins are still a work in progress and docs may change at any time. However, the APIs for integrating telemetry metadata into Open MCT are stable and documentation is included below.
The APIs for visualization plugins are still a work in progress and docs may
change at any time. However, the APIs for integrating telemetry metadata into
Open MCT are stable and documentation is included below.
### Integrating Telemetry Sources
There are two main tasks for integrating telemetry sources-- describing telemetry objects with relevant metadata, and then providing telemetry data for those objects. You'll use an [Object Provider](#object-providers) to provide objects with the necessary [Telemetry Metadata](#telemetry-metadata), and then register a [Telemetry Provider](#telemetry-providers) to retrieve telemetry data for those objects.
There are two main tasks for integrating telemetry sources-- describing telemetry objects with relevant metadata, and then providing telemetry data for those objects. You'll use an [Object Provider](#object-providers) to provide objects with the necessary [Telemetry Metadata](#telemetry-metadata), and then register a [Telemetry Provider](#telemetry-providers) to retrieve telemetry data for those objects. Alternatively, you can register a telemetry metadata provider to provide the necessary telemetry metadata.
For a step-by-step guide to building a telemetry adapter, please see the
`key` | string | required | unique identifier for this field.
`hints` | object | required | Hints allow views to intelligently select relevant attributes for display, and are required for most views to function. See section on "Value Hints" below.
`name` | string | optional | a human readible label for this field. If omitted, defaults to `key`.
`name` | string | optional | a human readable label for this field. If omitted, defaults to `key`.
`source` | string | optional | identifies the property of a datum where this value is stored. If omitted, defaults to `key`.
`format` | string | optional | a specific format identifier, mapping to a formatter. If omitted, uses a default formatter. For enumerations, use `enum`. For timestamps, use `utc` if you are using utc dates, otherwise use a key mapping to your custom date format.
`units` | string | optional | the units of this value, e.g. `km`, `seconds`, `parsecs`
@ -383,14 +446,18 @@ In order for the time conductor to work, there will always be an active "time sy
#### Telemetry Providers
Telemetry providers are responsible for providing historical and realtime telemetry data for telemetry objects. Each telemetry provider determines which objects it can provide telemetry for, and then must implement methods to provide telemetry for those objects.
Telemetry providers are responsible for providing historical and real-time telemetry data for telemetry objects. Each telemetry provider determines which objects it can provide telemetry for, and then must implement methods to provide telemetry for those objects.
A telemetry provider is a javascript object with up to four methods:
*`supportsSubscribe(domainObject, callback, options)` optional. Must be implemented to provide realtime telemetry. Should return `true` if the provider supports subscriptions for the given domain object (and request options).
*`subscribe(domainObject, callback, options)` required if `supportsSubscribe` is implemented. Establish a subscription for realtime data for the given domain object. Should invoke `callback` with a single telemetry datum every time data is received. Must return an unsubscribe function. Multiple views can subscribe to the same telemetry object, so it should always return a new unsubscribe function.
*`supportsRequest(domainObject, options)` optional. Must be implemented to provide historical telemetry. Should return `true` if the provider supports historical requests for the given domain object.
*`request(domainObject, options)` required if `supportsRequest` is implemented. Must return a promise for an array of telemetry datums that fulfills the request. The `options` argument will include a `start`, `end`, and `domain` attribute representing the query bounds. For more request properties, see Request Properties below.
*`request(domainObject, options)` required if `supportsRequest` is implemented. Must return a promise for an array of telemetry datums that fulfills the request. The `options` argument will include a `start`, `end`, and `domain` attribute representing the query bounds. See [Telemetry Requests and Responses](#telemetry-requests-and-responses) for more info on how to respond to requests.
*`supportsMetadata(domainObject)` optional. Implement and return `true` for objects that you want to provide dynamic metadata for.
*`getMetadata(domainObject)` required if `supportsMetadata` is implemented. Must return a valid telemetry metadata definition that includes at least one valueMetadata definition.
*`supportsLimits(domainObject)` optional. Implement and return `true` for domain objects that you want to provide a limit evaluator for.
*`getLimitEvaluator(domainObject)` required if `supportsLimits` is implemented. Must return a valid LimitEvaluator for a given domain object.
Telemetry providers are registered by calling `openmct.telemetry.addProvider(provider)`, e.g.
@ -398,14 +465,15 @@ Telemetry providers are registered by calling `openmct.telemetry.addProvider(pro
Note: it is not required to implement all of the methods on every provider. Depending on the complexity of your implementation, it may be helpful to instantiate and register your realtime, historical, and metadata providers separately.
#### Telemetry Requests and Responses.
Telemetry requests support time bounded queries. A call to a _Telemetry Provider_'s `request` function will include an `options` argument. These are simply javascript objects with attributes for the request parameters. An example of a telemetry request object with a start and end time is included below:
```javascript
{
start:1487981997240,
@ -414,7 +482,53 @@ Telemetry requests support time bounded queries. A call to a _Telemetry Provider
}
```
#### Telemetry Formats
In this case, the `domain` is the currently selected time-system, and the start and end dates are valid dates in that time system.
A telemetry provider's `request` method should return a promise for an array of telemetry datums. These datums must be sorted by `domain` in ascending order.
#### Request Strategies **draft**
To improve performance views may request a certain strategy for data reduction. These are intended to improve visualization performance by reducing the amount of data needed to be sent to the client. These strategies will be indicated by additional parameters in the request options. You may choose to handle them or ignore them.
Note: these strategies are currently being tested in core plugins and may change based on developer feedback.
##### `latest` request strategy
This request is a "depth based" strategy. When a view is only capable of
displaying a single value (or perhaps the last ten values), then it can
use the `latest` request strategy with a `size` parameter that specifies
the number of results it desires. The `size` parameter is a hint; views
must not assume the response will have the exact number of results requested.
example:
```javascript
{
start:1487981997240,
end:1487982897240,
domain:'utc',
strategy:'latest',
size:1
}
```
This strategy says "I want the lastest data point in this time range". A provider which recognizes this request should return only one value-- the latest-- in the requested time range. Depending on your back-end implementation, performing these queries in bulk can be a large performance increase. These are generally issued by views that are only capable of displaying a single value and only need to show the latest value.
##### `minmax` request strategy
example:
```javascript
{
start:1487981997240,
end:1487982897240,
domain:'utc',
strategy:'minmax',
size:720
}
```
MinMax queries are issued by plots, and may be issued by other types as well. The aim is to reduce the amount of data returned but still faithfully represent the full extent of the data. In order to do this, the view calculates the maximum data resolution it can display (i.e. the number of horizontal pixels in a plot) and sends that as the `size`. The response should include at least one minimum and one maximum value per point of resolution.
#### Telemetry Formats **draft**
Telemetry format objects define how to interpret and display telemetry data.
They have a simple structure:
@ -484,6 +598,17 @@ The key-value pairs of this object are described by the telemetry metadata of
a domain object, as discussed in the [Telemetry Metadata](#telemetry-metadata)
section.
#### Limit Evaluators **draft**
Limit evaluators allow a telemetry integrator to define how limits should be
applied to telemetry from a given domain object. For an example of a limit
evaluator, take a look at `examples/generator/SinewaveLimitProvider.js`.
### Telemetry Consumer APIs **draft**
The APIs for requesting telemetry from Open MCT -- e.g. for use in custom views -- are currently in draft state and are being revised. If you'd like to experiement with them before they are finalized, please contact the team via the contact-us link on our website.
## Time API
Open MCT provides API for managing the temporal state of the application.
@ -505,7 +630,7 @@ MCT, it will be pre-configured to use the UTC time system, which is installed an
The time bounds of an Open MCT application are defined as numbers, and a Time
System gives meaning and context to these numbers so that they can be correctly
interpreted. Time Systems are javscript objects that provide some information
interpreted. Time Systems are JavaScript objects that provide some information
about the current time reference frame. An example of defining and registering
Setting the active time system will trigger a [`'timeSystem'`](#time-events)
event. If you supplied bounds, a [`'bounds'`](#time-events) event will be triggered afterwards with your newly supplied bounds.
### Time Bounds
#### Time Bounds
The TimeAPI provides a getter/setter for querying and setting time bounds. Time
bounds are simply an object with a `start` and an end `end` attribute.
@ -591,7 +716,7 @@ openmct.time.bounds({start: now - ONE_HOUR, now);
To respond to bounds change events, listen for the [`'bounds'`](#time-events)
event.
## Clocks
### Clocks
The Time API can be set to follow a clock source which will cause the bounds
to be updated automatically whenever the clock source "ticks". A clock is simply
@ -610,7 +735,7 @@ be defined to tick on some remote timing source.
The values provided by clocks are simple `number`s, which are interpreted in the
context of the active [Time System](#defining-and-registering-time-systems).
### Defining and registering clocks
#### Defining and registering clocks
A clock is an object that defines certain required metadata and functions:
@ -724,7 +849,7 @@ __Note:__ Setting the clock offsets will trigger an immediate bounds change, as
new bounds will be calculated based on the `currentValue()` of the active clock.
Clock offsets are only relevant when a clock source is active.
## Time Events
### Time Events
The Time API is a standard event emitter; you can register callbacks for events using the `on` method and remove callbacks for events with the `off` method.
@ -766,7 +891,7 @@ The events emitted by the Time API are:
* `clockOffsets`: The new [clock offsets](#clock-offsets).
## The Time Conductor
### The Time Conductor
The Time Conductor provides a user interface for managing time bounds in Open
MCT. It allows a user to select from configured time systems and clocks, and to set bounds and clock offsets.
* `openmct.plugins.Espresso` and `openmct.plugins.Snow` are two different
themes (dark and light) available for Open MCT. Note that at least one
of these themes must be installed for Open MCT to appear correctly.
* `openmct.plugins.URLIndicator` adds an indicator which shows the
availability of a URL with the following options:
- `url` : URL to indicate the status of
- `iconClass`: Icon to show in the status bar, defaults to `icon-database`, [list of all icons](https://nasa.github.io/openmct/style-guide/#/browse/styleguide:home?view=items)
- `interval`: Interval between checking the connection, defaults to `10000`
- `label` Name showing up as text in the status bar, defaults to url
```javascript
openmct.install(openmct.plugins.URLIndicator({
url: 'http://localhost:8080',
iconClass: 'check',
interval: 10000,
label: 'Localhost'
})
);
```
* `openmct.plugins.LocalStorage` provides persistence of user-created
objects in browser-local storage. This is particularly useful in
<p>Local controls are typically buttons and selects that provide local control to an individual element. Typically, these controls are hidden in order to not block data display until the user hovers their cursor over an element, when the controls are displayed using a transition fade. Mousing out of the element fades the controls from view.</p>
<p>Local controls are typically buttons and selects that provide actions in close proximity to a component.</p>
<p>These controls can optionally be hidden to reduce clutter until the user hovers their cursor over an enclosing element. To use this approach, apply the class <code>.has-local-controls</code> to the element that should be aware of the hover and ensure that element encloses <code>.h-local-controls</code>.</p>
</div>
<mct-example><divclass="plot-display-area"style="height: 100px; padding: 10px; position: relative;">Hover over me
<p>The easiest way to use a glyph is to include its CSS class in element. The CSS adds a psuedo <code>:before</code> HTML element to whatever element it's attached to that makes proper use of the symbols font.</p>
<p>Alternately, you can use the <code>.ui-symbol</code> class in an object that contains encoded HTML entities. This method is only recommended if you cannot use the aforementioned CSS class approach for some reason.</p>
<p>The easiest way to use a glyph is to include its CSS class in an element. The CSS adds a psuedo <code>:before</code> HTML element to whatever element it's attached to that makes proper use of the symbols font.</p>
<p>Alternately, you can use the <code>.ui-symbol</code> class in an object that contains encoded HTML entities. This method is only recommended if you cannot use the aforementioned CSS class approach.</p>
<p>As you develop plugins for Open MCT, consider how a generalized component might be combined with others when designing to create a rich and powerful larger object, rather than adding a single monolithic, non-modular plugin. To solve a particular problem or allow a new feature in Open MCT, you may need to introduce more than just one new object type.</p>
<p>The types of objects that a container can hold should be based on the purpose of the container and the views that it affords. For example, a Folder’s purpose is to allow a user to conceptually organize objects of all other types; a Folder must therefore be able to contain an object of any type.</p>
<p>Views are simply different ways to view the content of a given object. For example, telemetry data could be viewed as a plot or a table. A clock can display its time in analog fashion or with digital numbers. In each view, all of the content is present; it’s just represented differently. When providing views for an object, all the content of the object should be present in each view.</p>
<p>Use a palette to provide color choices. Similar to context menus and dropdowns, palettes should be dismissed when a choice is made within them, or if the user clicks outside one.</p>
<p>Use a palette to provide color choices. Similar to context menus and dropdowns, palettes should be dismissed when a choice is made within them, or if the user clicks outside one. Selected palette choices should utilize the <code>selected</code> CSS class to visualize indicate that state.</p>
<p>Note that while this example uses static markup for illustrative purposes, don't do this - use a front-end framework with repeaters to build the color choices.</p>
</div>
<mct-example><divstyle="height: 220px"title="Ignore me, I'm just here to provide space for this example.">
@ -129,9 +129,9 @@
<divclass="s-button s-menu-button menu-element t-color-palette icon-paint-bucket"ng-controller="ClickAwayController as toggle">
Open MCT, Copyright (c) 2014-2016, 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 includes source code licensed under additional open source
licenses. See the Open Source Licenses file (LICENSES.md) included with
this source code distribution or the Licensing information page available
at runtime from the About dialog for additional information.
-->
<style>
.w-mct-examplediv[class*="s-status"],
.w-mct-examplespan[class*="s-status"],
.w-mct-examplediv[class*="s-limit"],
.w-mct-examplespan[class*="s-limit"]{
border-radius:3px;
padding:2px5px;
}
.w-mct-exampletable{
width:100%;
}
</style>
<divclass="l-style-guide s-text">
<pclass="doc-title">Open MCT Style Guide</p>
<h1>Status Indication</h1>
<divclass="l-section">
<h2>Status Classes</h2>
<divclass="cols cols1-1">
<divclass="col">
<p>Status classes allow any block or inline-block element to be decorated in order to articulate a
status. Provided classes include color-only and color plus icon; custom icons can easily be
employed by using a color-only status class in combination with an <aclass="link"href="#/browse/styleguide:home/glyphs?tc.mode=local&tc.timeSystem=utc&tc.startDelta=1800000&tc.endDelta=0&view=styleguide.glyphs">glyph</a>.</p>
<ul>
<li>Color only</li>
<ul>
<li><code>s-status-warning-hi</code></li>
<li><code>s-status-warning-lo</code></li>
<li><code>s-status-diagnostic</code></li>
<li><code>s-status-info</code></li>
<li><code>s-status-ok</code></li>
</ul>
<li>Color and icon</li>
<ul>
<li><code>s-status-icon-warning-hi</code></li>
<li><code>s-status-icon-warning-lo</code></li>
<li><code>s-status-icon-diagnostic</code></li>
<li><code>s-status-icon-info</code></li>
<li><code>s-status-icon-ok</code></li>
</ul>
</ul>
</div>
<mct-example><!-- Color alone examples -->
<divclass="s-status-warning-hi">WARNING HI</div>
<divclass="s-status-warning-lo">WARNING LOW</div>
<divclass="s-status-diagnostic">DIAGNOSTIC</div>
<divclass="s-status-info">INFO</div>
<divclass="s-status-ok">OK</div>
<!-- Color and icon examples -->
<divclass="s-status-icon-warning-hi">WARNING HI with icon</div>
<divclass="s-status-icon-warning-lo">WARNING LOW with icon</div>
<divclass="s-status-icon-diagnostic">DIAGNOSTIC with icon</div>
<divclass="s-status-icon-info">INFO with icon</div>
<divclass="s-status-icon-ok">OK with icon</div>
<divclass="s-status-warning-hi icon-alert-triangle">WARNING HI with custom icon</div>
<div>Some text with an <spanclass="s-status-icon-diagnostic">inline element</span> showing a Diagnostic status.</div>
</mct-example>
</div>
</div>
<divclass="l-section">
<h2>Limit Classes</h2>
<divclass="cols cols1-1">
<divclass="col">
<p>Limit classes are a specialized form of status, specifically meant to be applied to telemetry
displays to indicate that a limit threshold has been violated. Open MCT provides both severity
and direction classes; severity (yellow and red) can be used alone or in combination
with direction (upper or lower). Direction classes cannot be used on their own.</p>
<p>Like Status classes, Limits can be used as color-only, or color plus icon. Custom icons can
be applied in the same fashion as described above.</p>
<ul>
<li>Severity color alone</li>
<ul>
<li><code>s-limit-yellow</code>: A yellow limit.</li>
<li><code>s-limit-red</code>: A red limit.</li>
</ul>
<li>Severity color and icon</li>
<ul>
<li><code>s-limit-icon-yellow</code>: A yellow limit with icon.</li>
<li><code>s-limit-icon-red</code>: A red limit with icon.</li>
</ul>
<li>Direction indicators. MUST be used with a "color alone" limit class. See
examples for more.</li>
<ul>
<li><code>s-limit-upr</code>: Upper limit.</li>
<li><code>s-limit-lwr</code>: Lower limit.</li>
</ul>
</ul>
</div>
<mct-example><!-- Color alone examples -->
<divclass="s-limit-yellow">Yellow limit</div>
<divclass="s-limit-red">Red limit</div>
<!-- Color and icon examples -->
<divclass="s-limit-icon-yellow">Yellow limit with icon</div>
<divclass="s-limit-icon-red">Red limit with icon</div>
<divclass="s-limit-red icon-alert-rect">Red Limit with a custom icon</div>
<div>Some text with an <spanclass="s-limit-icon-yellow">inline element</span> showing a yellow limit.</div>
<p>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 <atarget="_blank"href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>.</p>
<p>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.</p>
<p>Open MCT includes source code licensed under additional open source licenses. See the Open Source Licenses file included with this distribution or <ang-click="about.openLicenses()">click here for licensing information</a>.</p>
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.