* 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
When browse controller is hijacking a browser navigation event,
it calls preventDefault on the route change. This has the effect
of preventing all changes in the location (including search changes).
This change checks if other changes were made in the route change and
re-applies them after the navigation has completed.
Fixes a bug where navigating via a link that contained additional
search paramterers would have the effect of navigating but not
keeping the parameters in tact.
Discovered in the course of fixing #1636
Update time conductor so that it triggers changes when the user
selects them instead of when the scope is updated. Prevents spurious
changes from being triggered by the conductor when it updates
in response to a time API change.
Fixes#1636.
Implemented auto-scrolling historical imagery view in ImageryController. Imagery domain objects now request historical data on each manual bounds change. Added new specs for ensuring that historical data is requested on bounds change and duplicate bounds / datum are ignored.
For elements created before this change where useGrid is not defined,
default it to true to ensure consistent display size
Inline constant definitions in unit tests if they are only used once
Update the TimeSettingsURLHandler to check for changes to the search
parameters and only trigger a bounds change when there is a change.
Added integration tests between Time API and settings url handler.
Prevents extraneous bounds events.
Fixes https://github.com/nasa/openmct/issues/1636
Change the input for grid units/pixels to a simple checkbox toggle from a
dropdown menu.
Add a new specialized AccessorMutator class to support this operation.
Fix code style issues per Victor's review
Add toggle to work in pixel space or grid space, per the issue description.
Each element stores a boolean property that determines whether or not it
snaps to grid space or pixel space. Coordinates are converted between spaces
on toggle, preserving the size of the element in pixels.
To complete: change UI element for toggle to a checkbox.
Added individual property inputs to the toolbar for height, width, x,
y, and line endpoint coordinates in fixed/bundle.js.
Added "edit<Property>" AccessorMutators for height and width to each
of the element proxies, so these properties can be exposed only for
elements where it makes sense (e.g. boxes, but not lines, since lines
are better controlled by endpoint coordinates).
Added a method "checkNumeric" to ElementProxy.js , to be used
to restrict inputs to integral values for position and size
textfield inputs.
Current issues: endpoint coordinate inputs have undexpected behvaior,
handles disappear after using the input fields to modify element
properties.
Added individual property inputs to the toolbar for height, width, x,
y, and line endpoint coordinates in fixed/bundle.js.
Added "edit<Property>" AccessorMutators for height and width to each
of the element proxies, so these properties can be exposed only for
elements where it makes sense (e.g. boxes, but not lines, since lines
are better controlled by endpoint coordinates).
Added a method "checkNumeric" to ElementProxy.js , to be used
to restrict inputs to integral values for position and size
textfield inputs.
Current issues: endpoint coordinate inputs have undexpected behvaior,
handles disappear after using the input fields to modify element
properties.
* [Time Conductor] Skeleton class for URL handling
#1550
* [Time Conductor] Scaffold in param handling
* [Time Conductor] Finish sketching in URL handler
* [Time Conductor] Usage correct constants for bounds
* [Time Conductor] Use start/end for bounds/deltas
* [Time] Move URL handler
Per discussion, https://github.com/nasa/openmct/issues/1550#issuecomment-308849449
* [Time] Rename URL handler
* [Time] Rename URL handler script
* [Time] Use Time API from URL handler
* [Time] Utilize Time API
* [Time] Listen for changes, synchronize URL
* [Time] Move URL handler into adapter
...as it uses Angular constructs.
* [Time] Wire URL handler into adapter bundle
* [Time] Pass correct constructor arguments to URL handler
* [Time] Begin debugging URL handling
* [Time] Clarify and correct logic for bounds/deltas in URL
* [Time] Define timeSystem
* [Time] Pass start/end into time API as numbers
...instead of strings.
* [Time] Avoid creating redundant objects
* [Time] Restructure fixed vs clock logic
* [Time] Stop clock correctly for fixed mode
* [Time] Fix hasBounds/hasDeltas logic
...given that both inputs will be strings when read from search params,
_.isFinite was doomed to return false.
* [Time] Check for complete information
...before updating Time API to reflect search state. Additionally,
flatten logic to ease readability.
* [Time] Begin testing TimeSettingsURLHandler
* [Time] Test fixed mode query string updates
* [Time] Test realtime mode query string updates
* [Time] Test update of time API from query params
* [Time] Add missing semicolons
Satisfies JSHint; fixes#1550
* refactored code for listView
* minimum viable folder list functionality
* moved listview directory inside of platform/features
* [Folder ListView] First Code Review Fixes
Changes made:
Updated listview icon as the hamburger menu.
Injecting listview template as textfile instead of using the template's url.
Added callback to $scope to listen for $destroy to release resources for the mutation listener and the gesture recognizer.
Refactored ListViewController formatting function to use map instead of foreach.
Added listview plugin to the default registry.
Updated table styling.
* working progress commit. ListViewControllerSpec is implemented and all tests are passing. MCTGestureSpec is not fully implemented. Testing the gestureService release is in progress.
* All tests in MCTGestureSpec and ListViewControllerSpec are passing.
* ListViewControllerSpec and MCTGesture Tests all passing.
* refactored variable names in ListviewController to make more sense.
* [Frontend] Styling of Luis's list view WIP
Fixes#1615
This will have conflicts with Luis's work,
be careful!
* [Folder ListView] Second Code Review Fixes
Changes made:
updated listview to utilize open-mct sorting style.
added license comments to all files.
modified mctgesture interface to use $scope.eval().
* [Frontend] Styling of Luis's list view WIP
Fixes#1615
New list-view glyph added
* [Frontend] Styling of Luis's list view WIP
Fixes#1615
Changed name of "Items" view to "Grid";
* [Frontend] Styling of Luis's list view WIP
Fixes#1615
Updated icomoon project file with new list-view
glyph e1042;
* [Folder ListView] Second Code Review Fixes
Changes made:
updated listview to utilize open-mct sorting style.
added license comments to all files.
modified mctgesture interface to use $scope.eval().
* [Frontend] Styling of Luis's list view WIP
Fixes#1615
Refined cursor CSS;
* [Frontend] Styling of Luis's list view WIP
Fixes#1615
Added logic to refine how sorting occurs:
now, clicking a table header that wasn't
the orderByField always sorts by its default;
This change is based on the following code review:
- Display the entire list of timezones, regardless of what's currently entered.
- As soon as the user typed (or deleted chars in the input) then that filtration would take over the list display
Fixes#1437
Markup and CSS for `view large` button in frame context;
Sass formatting cleanups; removed unused styles from
_layout.scss; mods to MCTTriggerModal.js to remove
button label functionality;
Added new "icon-expand" glyph and class;
Fixes#1437Fixes#1423
New overlay > l-dialog and l-large-view classes;
Fix context-menu z-index to allow context menu
to appear in the overlay;
.object-top-bar refactored and replaced with
.object-browse-bar;
frame > hover now only displays local controls for
proper level, handles nested layout situation;
Fixed font-weight display issues;
MCTTriggerModal.js modified to do the following:
- Remove .frame classes when displaying object in overlay
- Allow click on this overlay .blocker to dismiss overlay
Fixed min-width issue incorrectly targeting .object-browse-bar in frame context;
Added expand anim to large view holder;
Changed close button icon
Significant mobile styling and cleanups;
Markup mods for overlay.html;
Handles dialog on top of large view;
Form validation now displays better in mobile;
Updated /src/api/ui/dialog.html to be in-line
with /platform/commonUI/dialog/res/templates/overlay.html;
Moved border-radius from containerBase to btnBase mixins;
Animate with scale for GPU acceleration
Change desktop animation to use scale, so that it is hardware
accelerated and buttery smooth. Also fixes text anti-aliasing
to improve readability.
Moved mobile/overlay/_overlay.scss styles into
overlay/_overlay.scss; removed mobile/overlay/_overlay.scss;
Cleanups in _overlay.scss; restored max-width/max-height
to dialogs (removed in #1376 for #1298) and added
min-width;
[Frontend] Mobile fixes in overlay and related
Fixes#1437
Added mobile-specific styling to _messages.scss;
Fixed button layout and margins in _overlay.scss;
Fixed message.html to not default to major style
buttons;
[Frontend] Timing tweaks
Fixes#1437
Moved large view expand transition duration
into theme _constants files; shortened anim
duration
Fix Style errors
[mctTriggerModal] correct scope for toggle
Correct scope for toggleFunction such that #1503 no longer occurs.
Fixes#1503
[Style] Add copyright header
Use private parts of new composition API for generic search indexer
so that all objects are properly accessible in search results.
Also prevent ROOT object from getting indexed but still traverse
composition. That way, "The root object" no longer shows in search
results.
Update tests to cover changes.
Fixes#1579
Allow timeSystem to be changed without specifying bounds when
a clock is present and can provide bounds. This simplifies
bootstrap code.
https://github.com/nasa/openmct/issues/1581
When a menu option that specified an invalid time system with a
clock, the time conductor controller would log an error claiming
that the clock was unknown when in fact the time system is the
culprit.
Remove the error message as the plugin handles this validation
already. Also removed some unused code.
https://github.com/nasa/openmct/issues/1580
Update conductor validation logic to trigger easier-to-understand
error messages for bad configurations.
Update default-setting-behavior to properly set clock and offsets
when the default option is clock-based menu option.
Only set defaults when timeSystem has not already been configured.
fixes https://github.com/nasa/openmct/issues/1580
Update time API to tick immediately after setting a clock using
the currentValue of the clock. This ensures that bounds will
be set when the clock is set, instead of waiting for the next
tick to occur.
fixes https://github.com/nasa/openmct/issues/1582
Remove examples of format implementations. The docs stated
incorrectly that UTCTimeFormat used the additional parameters
for the format method when it did not actually use those
parameters.
With our current landscape of telemetry providers, parse can
frequently be called on an already parsed value, so added
documentation to highlight the importance of an idempotent
parse method.
Cleanup related to change of file locations in:
https://github.com/nasa/openmct/issues/1574
Always include basic formats; removing them from the utc format
bundle. This way, they can be utilized by third parties without
them having to commit to the utc time system.
Fixes https://github.com/nasa/openmct/issues/1574
Ensure telemetry request options always have a certain number
of fields-- start, end, and domain. This allows telemetry providers
to implement necessary filtering for these types of requests.
Update warning message with correct wording, and change
check for label property such that a blank label will also
trigger the deprecation warning.
Addresses feedback from https://github.com/nasa/openmct/pull/1571
Update docs to reference domain and range. Also added additional
documentation for the Telemetry API based on a previous draft of
the docs.
https://github.com/nasa/openmct/issues/1546
Track the updated composition of an object before notifying any
listeners. Otherwise, any composition listener that mutates the
object would cause an infinite loop.
Detected in implementation of the new plot.
When no path is specified, don't throw error. Navigate
to default, as expected.
When navigating to root, navigate to the last child
of root instead. This handles cases where DEFAULT_PATH
is not found (e.g. deployments without "mine").
Remove a check for an invalid return value, update the spec to
return the proper value. Also updated the subscribe method
to fetch defaults the same as the request method.
https://github.com/nasa/openmct/pull/1544
Update the formatter mock to implement the expected methods, such
that formatting occurs properly.
Remove a test that was validating the execution of a method
as this was smelly-- it's not the method that is important, it's
the result (that couldn't be obtained without the method).
Edited for consistent period and parentheses usage throughout:
- Removed periods at the end of each element in a list of nouns.
- Placed periods outside parenthetical statements that aren't complete sentences themselves.
- Placed periods at the end of sentences without punctuation.
Around line 143, gave "constants" its own bullet point. Although it is a form of variable or field, it also forms a separate style element with a different guideline. It's also easier to find when skimming when separated - for new contributors who need to learn the style, and veteran contributors who are just double checking.
Added TelemetryCollection to handle bounds and buffering. Avoids loss of telemetry due to timing mismatch between telemetry providers and tick sources
Fixed issues with removal and addition of objects
Fixes#1233
Additional content; adding size classes to
input[type="text"] to allow direct application to
the input; added placeholder styling and related
thematic constants.
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, Copyright (c) 2014-2017, 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.
@ -933,9 +933,10 @@ Note that `templateUrl` is not supported for `containers`.
Controls provide options for the `mct-control` directive.
Ten standard control types are included in the forms bundle:
These standard control types are included in the forms bundle:
*`textfield`: An area to enter plain text.
*`textfield`: A text input to enter plain text.
*`numberfield`: A text input to enter numbers.
*`select`: A drop-down list of options.
*`checkbox`: A box which may be checked/unchecked.
*`color`: A color picker.
@ -2261,7 +2262,7 @@ The platform understands the following policy categories (specifiable as the
*`action`: Determines whether or not a given action is allowable. The candidate
argument here is an Action; the context is its action context object.
*`composition`: Determines whether or not domain objects of a given type (first argument, `parentType`) can contain a given object (second argument, `child`).
*`composition`: Determines whether or not a given domain object(first argument, `parent`) can contain a candidate child object (second argument, `child`).
*`view`: Determines whether or not a view is applicable for a domain object.
The candidate argument is the view's extension definition; the context argument
is the `DomainObject` to be viewed.
@ -2282,7 +2283,7 @@ To install build dependencies (only needs to be run once):
To build:
`npm run prepublish`
`npm run prepare`
This will compile and minify JavaScript sources, as well as copy over assets.
The contents of the `dist` folder will contain a runnable Open MCT
{ 'category': 'Application Status', 'description': 'Colors related to the status of application objects, such as a successful connection to a service.', 'items': [{ 'name': 'Alert Color', 'constant': '$colorAlert', 'valEspresso': '#ff3c00', 'valSnow': '#ff3c00' },
{ 'category': 'Telemetry Status', 'description': 'Telemetry status colors used to indicate limit violations and alarm states. Note that these colors should be reserved exclusively for this usage.', 'items': [{ 'name': 'Yellow Limit Color Background', 'constant': '$colorLimitYellowBg', 'valEspresso': 'rgba(255,170,0,0.3)', 'valSnow': 'rgba(255,170,0,0.3)' },
<p>In mission operations, color is used to convey meaning. Alerts, warnings and status conditions are by convention communicated with colors in the green, yellow and red families. Colors must also be reserved for use in plots. As a result, Open MCT uses color selectively and sparingly. Follow these guidelines:</p>
<ul>
<li>Don't use red, orange, yellow or green colors in any element that isn't conveying some kind of status information.</li>
<li>Each theme has a key color (typically blue-ish) that should be used to emphasize interactive elements and important UI controls.</li>
<li>Within each theme values are used to push elements back or bring them forward, lowering or raising them in visual importance.
<spanclass="themed espresso">In this theme, Espresso, lighter colors are placed on a dark background. The lighter a color is, the more it comes toward the observer and is raised in importance.</span>
<spanclass="themed snow">In this theme, Snow, darker colors are placed on a light background. The darker a color is, the more it comes toward the observer and is raised in importance.</span>
</li>
<li>For consistency, use a theme's pre-defined status colors.</li>
</ul>
</div>
<divclass="l-section"ng-repeat="colorSet in colors">
<h2>{{ colorSet.category }}</h2>
<p>{{ colorSet.description }}</p>
<divclass="items-holder grid">
<divclass="item swatch-item"ng-repeat="color in colorSet.items">
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.
-->
<divclass="l-style-guide s-text">
<pclass="doc-title">Open MCT Style Guide</p>
<h1>Controls</h1>
<divclass="l-section">
<h2>Standard Buttons</h2>
<divclass="cols cols1-1">
<divclass="col">
<p>Use a standard button in locations where there's sufficient room and you must make it clear that the element is an interactive button element. Buttons can be displayed with only an icon, only text, or with icon and text combined.</p>
<p>Use an icon whenever possible to aid the user's recognition and recall. If both and icon and text are to be used, the text must be within a <code>span</code> with class <code>.title-label</code>.</p>
<p>Major buttons allow emphasis to be placed on a button. Use this on a single button when the user has a small number of choices, and one choice is a normal default. Just add <code>.major</code> to any element that uses <code>.s-button</code>.</p>
</div>
<mct-example><aclass="s-button major">Ok</a>
<aclass="s-button">Cancel</a>
</mct-example>
</div>
</div>
<divclass="l-section">
<h2>Button Sets</h2>
<divclass="cols cols1-1">
<divclass="col">
<p>Use button sets to connect buttons that have related purpose or functionality. Buttons in a set round the outer corners of only the first and last buttons, any other buttons in the middle simply get division spacers.</p>
<p>To use, simply wrap two or more <code>.s-button</code> elements within <code>.l-btn-set</code>.</p>
</div>
<mct-example><spanclass="l-btn-set">
<aclass="s-button icon-magnify"></a>
<aclass="s-button icon-magnify-in"></a>
<aclass="s-button icon-magnify-out"></a>
</span>
</mct-example>
</div>
</div>
<divclass="l-section">
<h2>Icon-only Buttons</h2>
<divclass="cols cols1-1">
<divclass="col">
<p>When a button is presented within another control it may be advantageous to avoid visual clutter by using an icon-only button. These type of controls present an icon without the "base" of standard buttons. Icon-only buttons should only be used in a context where they are clearly an interactive element and not an object-type identifier, and should not be used with text.</p>
<p>Checkboxes use a combination of minimal additional markup with CSS to present a custom and common look-and-feel across platforms.</p>
<p>The basic structure is a <code>label</code> with a checkbox-type input and an <code>em</code> element inside. The <code>em</code> is needed as the holder of the custom element; the input itself is hidden. Putting everything inside the <code>label</code> allows the label itself to act as a clickable element.</p>
<p>Radio buttons use the same technique as checkboxes above.</p>
</div>
<mct-example><labelclass="radio custom">Red
<inputname="Alarm Status"type="radio"/>
<em></em>
</label>
<br/>
<labelclass="radio custom">Orange
<inputname="Alarm Status"type="radio"checked/>
<em></em>
</label>
<br/>
<labelclass="radio custom">Yellow
<inputname="Alarm Status"type="radio"/>
<em></em>
</label>
</mct-example>
</div>
</div>
<divclass="l-section">
<h2>Selects</h2>
<divclass="cols cols1-1">
<divclass="col">
<p>Similar to checkboxes and radio buttons, selects use a combination of minimal additional markup with CSS to present a custom and common look-and-feel across platforms. The <code>select</code> element is wrapped by another element, such as a <code>div</code>, which acts as the main display element for the styling. The <code>select</code> provides the click and select functionality, while having all of its native look-and-feel suppressed.</p>
</div>
<mct-example><divclass="select">
<select>
<optionvalue=""selected="selected">- Select One -</option>
<optionvalue="Colussus">Colussus</option>
<optionvalue="HAL 9000">HAL 9000</option>
<optionvalue="Mother">Mother</option>
<optionvalue="Skynet">Skynet</option>
</select>
</div>
</mct-example>
</div>
</div>
<divclass="l-section">
<h2>Local Controls</h2>
<divclass="cols cols1-1">
<divclass="col">
<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>
<p>Symbolic glyphs are used extensively in Open MCT to call attention to interactive elements, identify objects, and aid in visual recall. Glyphs are made available in a custom symbols font, and have associated CSS classes for their usage. Using a font in this way (versus using images or sprites) has advantages in that each symbol is in effect a scalable vector that can be sized up or down as needed. Color can also quite easily be applied via CSS.</p>
<p>New glyphs can be added if needed. Take care to observe the following guidelines:
<ul>
<li>Symbols should be created at 512 pixels high, and no more than 512 pixels wide. This size is based on a "crisp" 16px approach. Find out more about <aclass="link"target="_blank"href="http://asimpleframe.com/writing/custom-icon-font-tutorial-icomoon">crisp symbol fonts</a>.</li>
<li>In general, the symbol should occupy most of a square area as possible; avoid symbol aspect ratios that are squat or tall.</li>
<li>For consistency and legibility, symbols are designed as mostly solid shapes. Avoid using thin lines or fine detail that will be lost when the icon is sized down. In general, no stroke should be less than 32 pixels.</li>
<li>Symbols should be legible down to a minimum of 12 x 12 pixels.</li>
</ul>
</p>
</div>
<divclass="l-section">
<h2>How to Use Glyphs</h2>
<divclass="cols cols1-1">
<divclass="col">
<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>These glyphs are reserved exclusively to denote types of objects in the application. Only use them if you are referring to a pre-existing object type.</p>
<divclass="items-holder grid">
<divclass="item glyph-item"ng-repeat="glyph in objects">
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.
-->
<divclass="l-style-guide s-text">
<pclass="doc-title">Open MCT Style Guide</p>
<h1>Text Input</h1>
<divclass="l-section">
<p>Text inputs and textareas have a consistent look-and-feel across the application. The input's <code>placeholder</code> attribute is styled to appear visually different from an entered value.</p>
</div>
<divclass="l-section">
<h2>Text Inputs</h2>
<divclass="cols cols1-1">
<divclass="col">
<p>Use a text input where the user should enter relatively short text entries.</p>
<p>A variety of size styles are available: <code>.lg</code>, <code>.med</code> and <code>.sm</code>. <code>.lg</code> text inputs dynamically scale their width to 100% of their container's width. Numeric inputs that benefit from right-alignment can be styled by adding <code>.numeric</code>.</p>
</div>
<mct-example><inputtype="text"placeholder="Enter a value"/>
<br/><br/>
<inputtype="text"placeholder="Enter a value"value="An entered value"/>
<br/><br/>
<inputtype="text"placeholder="Enter a value"class="sm"value="Small"/>
<br/><br/>
<inputtype="text"placeholder="Enter a value"class="med"value="A medium input"/>
<br/><br/>
<inputtype="text"placeholder="Enter a value"class="lg"value="A large input"/>
<br/><br/>
<inputtype="text"placeholder="Enter a value"class="sm numeric"value="10.9"/>
</mct-example>
</div>
</div>
<divclass="l-section">
<h2>Textareas</h2>
<divclass="cols cols1-1">
<divclass="col">
<p>Use a textarea where the user should enter relatively longer or multi-line text entries.</p>
<p>By default, textareas are styled to expand to 100% of the width and height of their container; additionally there are three size styles available that control the height of the element: <code>.lg</code>, <code>.med</code> and <code>.sm</code>.</p>
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.
-->
<divclass="l-style-guide s-text">
<pclass="doc-title">Open MCT Style Guide</p>
<h1>Introduction</h1>
<divclass="l-section">
<p>Open MCT is a robust, extensible telemetry monitoring and situational awareness system that provides a framework supporting fast and efficient multi-mission deployment. This guide will explore the major concepts and design elements of Open MCT. Its overall goal is to guide you in creating new features and plugins that seamlessly integrate with the base application.</p>
</div>
<divclass="l-section">
<h2>Everything Is An Object</h2>
<divclass="cols cols1-1">
<divclass="col">
<p>First and foremost, Open MCT uses a “object-oriented” approach: everything in the system is an object. Objects come in different types, and some objects can contain other objects of given types. This is similar to how the file management system of all modern computers works: a folder object can contain any other type of object, a presentation file can contain an image. This is conceptually the same in Open MCT.</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>
</div>
<divclass="col">
<imgsrc="../images/diagram-objects.svg"/>
</div>
</div>
</div>
<divclass="l-section">
<h2>Object Types</h2>
<divclass="cols cols1-1">
<divclass="col">
<p>In the same way that different types of files might be opened and edited by different applications, objects in Open MCT also have different types. For example, a Display Layout provides a way that other objects that display information can be combined and laid out in a canvas area to create a recallable display that suits the needs of the user that created it. A Telemetry Panel allows a user to collect together Telemetry Points and visualize them as a plot or a table.</p>
<p>Object types provide a containment model that guides the user in their choices while creating a new object, and allows view normalization when flipping between different views. When a given object may only contain other objects of certain types, advantages emerge: the result of adding new objects is more predictable, more alternate views can be provided because the similarities between the contained objects is close, and we can provide more helpful and pointed guidance to the user because we know what types of objects they might be working with at a given time.</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>
</div>
<divclass="col">
<imgsrc="../images/diagram-containment.svg"/>
</div>
</div>
</div>
<divclass="l-section">
<h2>Object Views</h2>
<divclass="cols cols1-1">
<divclass="col">
<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>
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.
-->
<divclass="l-style-guide s-text">
<pclass="doc-title">Open MCT Style Guide</p>
<h1>Menus</h1>
<divclass="l-section">
<h2>Context Menus</h2>
<divclass="cols cols1-1">
<divclass="col">
<p>Context menus are used extensively in Open MCT. They are created dynamically upon a contextual click and positioned at the user's cursor position coincident with the element that invoked them. Context menus must use absolute position and utilize a z-index that places them above other in-page elements.</p>
<p>See <aclass="link"href="http://localhost:8080/#/browse/styleguide:home/controls?view=styleguide.standards">User Interface Standards</a> for more details on z-indexing in Open MCT. Context menus should be destroyed if the user clicks outside the menu element.</p>
<lionclick="alert('Perform an action')"title="Open in a new browser tab"class="icon-new-window">Open In New Tab</li>
<lionclick="alert('Perform an action')"title="Remove this object from its containing object."class="icon-trash">Remove</li>
<lionclick="alert('Perform an action')"title="Create Link to object in another location."class="icon-link">Create Link</li>
</ul>
</div>
</div>
</div></mct-example>
</div>
</div>
<divclass="l-section">
<h2>Dropdown Menus</h2>
<divclass="cols cols1-1">
<divclass="col">
<p>Dropdown menus are a dedicated, more discoverable context menu for a given object. Like context menus, dropdown menus are used extensively in Open MCT, and are most often associated with object header elements. They visually manifest as a downward pointing arrow <spanclass="context-available"></span> associated with an element, and when clicked displays a context menu at that location. See guidelines above about context menus in regards to z-indexing and element lifecycle.</p>
<p>Use a dropdown menu to encapsulate important the actions of an object in the object's header, or in a place that you'd use a context menu, but want to make the availability of the menu more apparent.</p>
</div>
<mct-example><divstyle="height: 220px"title="Ignore me, I'm just here to provide space for this example.">
<p>Checkbox menus add checkbox options to each item of a dropdown menu. Use this to </p>
<p>Use a dropdown menu to encapsulate important the actions of an object in the object's header, or in a place that you'd use a context menu, but want to make the availability of the menu more apparent.</p>
</div>
<mct-example><divstyle="height: 220px"title="Ignore me, I'm just here to provide space for this example.">
<divng-controller="SearchMenuController as controller"class="ng-scope">
<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.">
<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.
-->
<divclass="l-style-guide s-text">
<pclass="doc-title">Open MCT Style Guide</p>
<h1>Standards</h1>
<divclass="l-section">
<h2>Absolute Positioning and Z-Indexing</h2>
<p>Absolute positioning is used in Open MCT in the main envelope interface to handle layout and draggable pane splitters, for elements that must be dynamically created and positioned (like context menus) and for buttons that are placed over other elements, such as a plot's zoom/pan history and reset buttons. When using absolute positioning, follow these guidelines:</p>
<ul>
<li>Don't specify a z-index if you don't have to.</li>
<li>If you must specify a z-index, use the lowest number you that prevents your element from being covered and puts it at the correct level per the table below.</li>
</ul>
<!-- This content maintained at https://docs.google.com/spreadsheets/d/1AzhUY0P3hLCfT8yPa2Cb1dwOOsQXBuSgCrOkhIoVm0A/edit#gid=0 -->
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>
// If true, Karma captures browsers, runs the tests and exits.
webpack:webpackConfig,
webpackMiddleware:{
stats:'errors-only',
logLevel:'warn'
},
singleRun:true
});
};
}
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.