Compare commits

...

393 Commits

Author SHA1 Message Date
Charles Hacskaylo
fcc04b04d2 [Merge] Merged latest from imagery-issue-1676
Fixes #1676
Minor conflict in imagery.scss resolved;
Tweak to remove min-height from image-main-wrapper;
2017-08-24 15:03:12 -07:00
Charles Hacskaylo
3dd0b87a1f [Merge] Merged latest from imagery-issue-1676
Fixes #1676
Minor conflict in imagery.scss resolved;
2017-08-24 14:58:22 -07:00
Deep Tailor
949782db39 quick fix for imagery pane 2017-08-24 14:18:27 -07:00
Charles Hacskaylo
e7fc44bd09 [Frontend] CSS sanding
Fixes #1676
2017-08-24 13:20:39 -07:00
Deep Tailor
56cf41153d change anchor or imagery pane, and add max height to thumbs 2017-08-24 12:19:35 -07:00
Deep Tailor
1a74fbdc17 enforce extreme on imagery panels, set max height, and min height 2017-08-24 10:31:30 -07:00
Deep Tailor
999bc49e17 Merge branch 'imagery-issue-1676-styling' of https://github.com/nasa/openmct into imagery-issue-1676
changes from Charles
2017-08-23 16:04:12 -07:00
Charles Hacskaylo
993570f356 [Frontend] Imagery and thumbs
Fixes #1676
Removed console.log
2017-08-23 16:03:35 -07:00
Deep Tailor
805a2dd177 Merge branch 'imagery-issue-1676-styling' of https://github.com/nasa/openmct into imagery-issue-1676
styling changes from charles
2017-08-23 16:02:47 -07:00
Deep Tailor
78179b5566 remove push to right on click 2017-08-23 16:02:40 -07:00
Charles Hacskaylo
754631f203 [Frontend] Imagery and thumbs
Fixes #1676
Cleanups; added .split-pane-component class to markup;
Added scrollToBottom function and related JS in onScroll
function;
2017-08-23 16:01:04 -07:00
Deep Tailor
997ce6604e Merge branch 'imagery-issue-1676-styling' of https://github.com/nasa/openmct into imagery-issue-1676
merge charles styling changes
2017-08-23 14:53:38 -07:00
Charles Hacskaylo
05e265bbc6 Merge branch 'imagery-issue-1676' of https://github.com/nasa/openmct into imagery-issue-1676-styling 2017-08-23 13:59:30 -07:00
Charles Hacskaylo
d4b4a4d3a8 [Frontend] Imagery and thumbs styling
Fixes #1676
Thumbs horz strip changed to grid; styling for
imagery object in Layout frame;
2017-08-23 13:59:04 -07:00
Deep Tailor
1c4355b06b scroll to right when unpaused 2017-08-23 13:43:10 -07:00
Deep Tailor
0b9f77e464 unselect all images on unpause 2017-08-23 13:13:30 -07:00
Deep Tailor
571252b6b4 add selected class 2017-08-23 12:03:27 -07:00
Deep Tailor
be3b383c7d add splitter and wrap imagery in split pane 2017-08-23 10:33:08 -07:00
Deep Tailor
0f464e4f20 remove hide/unhide feature 2017-08-22 15:10:08 -07:00
Deep Tailor
7f9f050e06 add styles to imagery 2017-08-22 14:36:16 -07:00
Deep Tailor
4762832b7d add historical view to regular imagery view, add functionality to select image from history and pause stream 2017-08-22 13:44:06 -07:00
Deep Tailor
f489896b10 preliminary functionality working, need css changes 2017-08-22 11:58:56 -07:00
Pete Richards
f3b519d47b Merge pull request #1672 from nasa/paneController-Issue#1670
Fix for Pane controller issue#1670
2017-08-17 16:10:20 -07:00
Deep Tailor
c472ab044b Add functionality to allow users to add hideParameters to the url, which will hide tree and/or the inspector
New Tab automatically appends hideTree and hideInspector params to hide those panes by default
Add appropriate tests for new functionality and fix broken tests
2017-08-17 15:25:01 -07:00
Pete Richards
586901aee7 Merge pull request #1663 from dtailor90/master
persist user preference width for MCTSplitPanes issue #1646
2017-08-16 15:31:26 -07:00
Deep Tailor
449923feae Persist User preference widths for MCTSplitPane
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
2017-08-16 15:04:33 -07:00
Deep Tailor
ae461f71b4 Merge pull request #1675 from nasa/limit-example-telemetry-response-sizes
[Example] Limit telemetry responses to 5000 records
2017-08-16 10:34:24 -07:00
Pete Richards
5243b3748d [Example] Limit telemetry responses to 5000 records
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.
2017-08-15 14:34:36 -07:00
Pete Richards
82a661b884 Merge pull request #1674 from nasa/hyperlink-styling
Hyperlink styling
2017-08-14 13:04:26 -07:00
Charles Hacskaylo
f5a92f66db [Front-end] Hyperlink styling
Change icon for Hyperlink
2017-08-14 12:40:00 -07:00
Charles Hacskaylo
0417b7e32d [Front-end] Hyperlink styling 2017-08-14 12:38:01 -07:00
Charles Hacskaylo
7c9a6bd817 [Front-end] Integrate Hyperlink related changes from #1685 work
Fixes #1685
(cherry picked from commit 4dff369)
2017-08-14 12:18:19 -07:00
Pete Richards
a58c484d71 Merge pull request #1673 from nasa/glyph-update-frame
[Frontend] Updated glyphs
2017-08-14 09:38:07 -07:00
Charles Hacskaylo
43b92647fb [Frontend] Updated glyphs
Updated art for glyphs for
icon-frame-show and -hide;
2017-08-11 14:35:21 -07:00
Pete Richards
e8eb34f5c3 Merge pull request #1660 from sahajp23/master
Updated Hyperlink Domain Object with suggested changes
2017-08-11 14:10:25 -07:00
sahajp23
fa57688709 Bug fix for hyperlink in Display Layout 2017-08-11 11:59:27 -07:00
Pete Richards
5ac377ec6a Merge pull request #1667 from nasa/glyphs-update
Glyphs update 08-08-2017
2017-08-08 12:54:26 -07:00
Charles Hacskaylo
c523480b48 [Glyphs] Updated icomoon 16px project file 2017-08-08 11:47:29 -07:00
Charles Hacskaylo
4dc09975d0 [Style Guide] Glyphs additions and subtractions
Removed unused 12px glyphs;
Added 16px crosshair;
Fixed erroneously removed overlay plot glyph;
Updated style guide content
2017-08-08 11:41:55 -07:00
Charles Hacskaylo
29a472ae5d [Style Guide] Tweak Style Guide CSS 2017-08-08 10:38:41 -07:00
sahajp23
3e2fd8967a The second update of the Hyperlink Domain Object with fixed changes 2017-08-03 14:34:43 -07:00
Pete Richards
9e429802c2 Merge pull request #1657 from nasa/handle-invalid-time-url
[Time] Handle missing time system gracefully
2017-08-02 15:51:04 -07:00
Aaron Doubek-Kraft
6cfee100d7 Merge branch 'master' into handle-invalid-time-url 2017-08-02 15:44:18 -07:00
Pete Richards
eeb214204d Merge pull request #1662 from nasa/revert-1659-master
Revert "persist user preference width for MCTSplitPanes issue #1646"
2017-08-02 10:53:07 -07:00
Deep Tailor
b41ceab51e Revert "persist user preference width for MCTSplitPanes issue #1646" 2017-08-02 10:48:57 -07:00
Deep Tailor
10b0f43fc1 Merge pull request #1659 from dtailor90/master
persist user preference width for MCTSplitPanes issue #1646, updated MCTSplitPane to handle logic regarding localStorage
2017-08-02 10:48:51 -07:00
Deep Tailor
593c1adf56 updated mctSplitPane to handle all logic regarding persisting userPreferenceWidth to local storage 2017-08-02 10:46:14 -07:00
Charles Hacskaylo
2d1ee80322 [Glyphs] Update glyphs
Add grid snap and layout show/hide frame
glyphs
2017-08-01 15:50:30 -07:00
Charles Hacskaylo
7555eab1e3 [Glyphs] Bring in updated version of glyphs
Add glyphs from summary widgets
2017-08-01 15:43:32 -07:00
Charles Hacskaylo
4923bcbd85 [Glyphs] Bring in updated version of glyphs
Add glyphs from summary widgets
2017-08-01 15:40:43 -07:00
Deep Tailor
5a7fdf82ac persist user preference width for MCTSplitPanes 2017-08-01 12:00:21 -07:00
sahajp23
a5f6940d67 Updated version of hyperlink with suggested changes made
modified:   src/defaultRegistry.js
2017-08-01 11:51:42 -07:00
Pete Richards
4571205871 [Time] Handle missing time system gracefully
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.
2017-07-27 15:38:42 -07:00
Pete Richards
34c3763421 Merge pull request #1635 from nasa/historical-imagery
[Historical imagery] [WIP]: Add historical view for image telemetry
2017-07-26 11:36:21 -07:00
Preston Crowe
ed6ae23dc0 [Historical Imagery] JSDoc, code review style changes
Added $element dependency and JSDoc for private methods. Autoscroll is now enabled by default when there is an active clock. Inline comments removed.
2017-07-14 13:05:59 -07:00
Pete Richards
23839b05b0 Merge pull request #1643 from nasa/open1641
[Open 1641] Change warnings to info messages
2017-07-13 17:23:10 -07:00
Pete Richards
6aed3bb0b5 Merge pull request #1638 from nasa/only-time-change-when-changed-1636
[Time API] Only change time when changed
2017-07-13 17:11:59 -07:00
Pete Richards
1ae62cde05 [Browse] Don't klobber params when preventing default
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
2017-07-13 16:48:38 -07:00
Pete Richards
4e7e5bb783 [Time] Conductor changes based on click not scope
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.
2017-07-13 16:48:38 -07:00
Luis-Johannes Schubert
efc46613bb Updated TelemetryCapability.js
removed outdated comment.
2017-07-13 16:47:24 -07:00
Preston Crowe
218ef16160 [Imagery] Implemented historical view for imagery
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.
2017-07-12 12:13:57 -07:00
Luis Schubert
fb0a577d16 [Open1641] Updated the spec files to check for info messages instead of warning messages 2017-07-10 09:46:51 -07:00
Luis Schubert
19b5e7c781 [Open 1641] Change warnings to info messages 2017-07-06 15:55:29 -07:00
Luis-Johannes Schubert
0794c0edf7 Merge pull request #1640 from nasa/fix-error-on-table-destroy
[Resize] don't trigger callback after being destroyed
2017-07-05 17:24:16 -07:00
Pete Richards
89515bb896 verify that eval isn't called after destroy 2017-07-05 16:48:09 -07:00
Pete Richards
318aecb7bc Merge pull request #1634 from nasa/open1405
[Fixed Position] Add numerical inputs for size and position of elements
2017-07-05 11:45:36 -07:00
Aaron Doubek-Kraft
a4b857a034 [Fixed Position] Change default behavior for old elements
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
2017-07-05 10:58:13 -07:00
Pete Richards
d82230dea4 [Resize] don't trigger callback when destroyed
Prevent MCTResize from triggering a callback after it is destroyed.

Fixes https://github.com/nasa/openmct/issues/1509
2017-07-04 17:03:25 -07:00
Pete Richards
cb242d8efb [TimeAPI] check for change before triggering
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
2017-07-04 15:09:56 -07:00
Aaron Doubek-Kraft
aa8f780e4e [Fixed Position] Add unit tests 2017-06-29 15:22:39 -07:00
Aaron Doubek-Kraft
3ed0880c6e [Fixed Position] Add unit tests for new code
Refactored ElementProxy and UnitAccessorMutator slightly to improve encasulation. Added unit tests for UnitAccessorMutator
2017-06-29 13:14:38 -07:00
Aaron Doubek-Kraft
40c68e6399 [Fixed Position] Change UI pixel/grid toggle to checkbox
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.
2017-06-28 15:19:18 -07:00
Aaron Doubek-Kraft
65500736da [Fixed Postion] Update unit tests for new code 2017-06-28 13:38:35 -07:00
Aaron Doubek-Kraft
b9ab97eb7f [Fixed Position] Add ability to work in pixel space
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.
2017-06-28 12:37:14 -07:00
Victor Woeltjen
34ef98e0cd Merge pull request #1595 from dhrubomoy/timezone_dropdown_feature
[CLOCK] Allow clock to set timezone with autocomplete dropdown option.
2017-06-26 16:51:30 -05:00
Aaron Doubek-Kraft
825f50262c [Fixed position] Incorporate numberfield control
Fix style and merge issues
2017-06-26 11:15:09 -07:00
Aaron Doubek-Kraft
a6079936e8 [Fixed position] Incorporate numberfield control 2017-06-26 11:07:20 -07:00
Aaron Doubek-Kraft
542b7a6f20 [Fixed Position] Incorporate numberfield control
Change inputs from textfield to new numberfield input, remove internal type checking in favor of input validation
2017-06-26 10:57:47 -07:00
Aaron Doubek-Kraft
2a8c3977a4 [Fixed Position] Incorporate new numberfield inputs
Changed inputs from textfields to numberfields, and removed internal
type checking for these inputs
2017-06-26 10:52:04 -07:00
Doubek-Kraft
515ea7caf8 [Layout] Code Style Issues 2017-06-26 09:36:31 -07:00
Doubek-Kraft
65993bd77f [Layout] Code style
Fix code style issues
2017-06-26 09:36:31 -07:00
Doubek-Kraft
54e07ccfdd [Layout] Line endpoint coordinate editing
Added appropriate line endpoint coordinate editing input fields
2017-06-26 09:36:31 -07:00
Doubek-Kraft
2e6fcec1c3 [Layout] Consistent input behavior
Inputs now handle invalid input consistently for all fields
2017-06-26 09:36:31 -07:00
Doubek-Kraft
f992fcebe1 [Layout] Consistent input behavior
Inputs now consistently default to 0 when left empty
2017-06-26 09:36:31 -07:00
Doubek-Kraft
280c838735 [Layout] Add numerical inputs for fixed-position layout
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.
2017-06-26 09:36:31 -07:00
Pete Richards
445dfb3d91 Merge pull request #1633 from nasa/revert-1632-historical-imagery
Revert "Historical imagery "
2017-06-25 21:51:31 -07:00
Preston Crowe
bc616ecdee Revert "Historical imagery " 2017-06-25 20:46:09 -07:00
Preston Crowe
895c9b12e6 Merge pull request #1632 from nasa/historical-imagery
Historical imagery
2017-06-25 20:45:19 -07:00
Preston Crowe
95e68fce57 Integrated historic and realtime telemetry in imagery timeline view, added sass constast for timeline hover color 2017-06-25 13:02:04 -07:00
Preston Crowe
9f4f771774 Updated stylesheet 2017-06-25 13:02:04 -07:00
Preston Crowe
05290593e9 Added imagery timeline view for telemetry sources and placeholder template for displaying historical imagery 2017-06-25 13:02:04 -07:00
Pete Richards
2aa2d9d4bb Merge pull request #1629 from nasa/number-input
Review and integrate new Number input for mct-control
2017-06-25 12:53:11 -07:00
Dhrubomoy Das Gupta
7b690d0785 Revert "[Autocomplete] Show warning icon if invalid option was typed"
This reverts commit 307320b3ff.
2017-06-25 14:58:28 -04:00
Doubek-Kraft
39fe2fd7b6 [Layout] Code Style Issues 2017-06-23 16:04:34 -07:00
Doubek-Kraft
b661b4737e [Layout] Code style
Fix code style issues
2017-06-23 14:47:01 -07:00
Charles Hacskaylo
9ca8975baf [Documentation] Add number input
Fixes #1628
numberfield added to .md files;
2017-06-23 14:32:21 -07:00
Doubek-Kraft
5f7eeeae30 [Layout] Line endpoint coordinate editing
Added appropriate line endpoint coordinate editing input fields
2017-06-23 13:48:33 -07:00
Doubek-Kraft
537656303a [Layout] Consistent input behavior
Inputs now handle invalid input consistently for all fields
2017-06-23 11:42:52 -07:00
Charles Hacskaylo
e7ba13f844 [Frontend] Add number input
Fixes #1628
Add template and bundle info for numberfield;
Styling in general and toolbar contexts;
2017-06-23 11:07:24 -07:00
Doubek-Kraft
64bf63c18a [Layout] Consistent input behavior
Inputs now consistently default to 0 when left empty
2017-06-23 10:57:50 -07:00
Doubek-Kraft
ac3f638b35 [Layout] Add numerical inputs for fixed-position layout
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.
2017-06-23 09:28:49 -07:00
Victor Woeltjen
a3520ba51e Merge pull request #1625 from nasa/example-historical-imagery
Example historical imagery
2017-06-22 16:18:49 -05:00
Pete Richards
8e0b7fce7f Merge pull request #1627 from nasa/time-system-key
[Time] Tolerate unset Time API properties from URL handler
2017-06-22 13:09:31 -07:00
Victor Woeltjen
52f5bea215 [Time] Add clarifying comment to NULL_PARAMETERS 2017-06-22 12:58:14 -07:00
Victor Woeltjen
26b4e5498f [Time] Tolerate unset Time API properties
...from the URL handler. Fixes nasa/openmct-tutorial#14
2017-06-22 12:51:44 -07:00
Victor Woeltjen
ce733628b2 [Time] Add test cases for URL handler
To reproduce root cause of nasa/openmct-tutorial#14
2017-06-22 12:40:02 -07:00
Dhrubomoy Das Gupta
307320b3ff [Autocomplete] Show warning icon if invalid option was typed 2017-06-21 22:35:32 -04:00
Dhrubomoy Das Gupta
504b2e1ecf [Autocomplete] Update test 2017-06-21 18:14:14 -04:00
Pete Richards
73e452edc0 [Imagery] Update spec 2017-06-21 14:56:51 -07:00
Pete Richards
bbeb97e93c [Imagery] Use LAD query 2017-06-21 14:21:51 -07:00
Pete Richards
e6d65f3549 [Example] Add historic, lad imagery providers 2017-06-21 14:17:18 -07:00
Pete Richards
1ab4cf68d7 [example] 5 seconds per image 2017-06-21 13:56:18 -07:00
dhrubomoy
f20c8b7d99 Fix code style and add missing semicolons 2017-06-21 15:29:28 -04:00
dhrubomoy
17a067752f [Forms] Remove redundant mctClickElsewhere 2017-06-21 14:31:55 -04:00
Pete Richards
7fcaf6510e Merge pull request #1614 from nasa/open1569
Fixed tabbing in overlay forms
2017-06-21 11:24:23 -07:00
Victor Woeltjen
0713941812 [Time] Encode time settings in URL (#1620)
* [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
2017-06-21 11:23:18 -07:00
Pete Richards
1d7d56d5e7 Merge pull request #1613 from nasa/open1592
[Frontend] Fixed markup to allow scroll of results
2017-06-21 11:10:14 -07:00
Pete Richards
ba9941891d Merge pull request #1612 from nasa/no-keyframe-anims
Review and merge no-keyframe-anims branch
2017-06-21 11:08:23 -07:00
Pete Richards
d3b313d8aa Merge pull request #1619 from nasa/enable-tc
[Time Conductor] Enable time conductor in dev environment
2017-06-19 18:37:43 -07:00
Luis-Johannes Schubert
e2f0f61862 Implement new folder List view (#1610)
* 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;
2017-06-19 18:35:18 -07:00
Pete Richards
ecdcebce0c Merge pull request #1606 from nasa/headers-1541
[Build] Remove/reorganize version headers
2017-06-19 18:22:17 -07:00
Pete Richards
5fbf71264e Merge pull request #1563 from nasa/open-623
[Timers] Add stop button
2017-06-19 18:20:25 -07:00
Victor Woeltjen
8519e7660f [Time Conductor] Enable time conductor by default
Supports #1550.
2017-06-15 16:29:52 -07:00
Victor Woeltjen
e75d1f62ec Merge pull request #1600 from nasa/imagery-updates
[Imagery] Update metadata for images
2017-06-13 16:30:33 -05:00
Victor Woeltjen
1c9a9baf77 [Imagery] Check for pending updates when unpausing
https://github.com/nasa/openmct/pull/1600#discussion_r119931468
2017-06-13 14:25:35 -07:00
Charles Hacskaylo
44246e6973 [Frontend] Modified tabindex of search input
Fixes #1569
2017-06-13 14:14:39 -07:00
Charles Hacskaylo
61f59a94e4 [Frontend] Fixed markup to allow scroll of results
Fixes #1592
2017-06-13 09:24:42 -07:00
Charles Hacskaylo
a8a689f69a [Frontend] WIP remove keyframe anims
Fixes #1603
Remove keyframe anims from transition to edit mode
and border-color anim in _messages.scss;
2017-06-09 11:40:58 -07:00
Dhrubomoy Das Gupta
e3bd22de8c [Autocomplete] Minor refactoring 2017-06-07 23:01:14 -04:00
Charles Hacskaylo
c7787aa1f0 [Frontend] WIP remove keyframe anims
Fixes #1603
Remove keyframe anims from transition to edit mode
2017-06-06 16:18:22 -07:00
Dhrubomoy Das Gupta
3870266131 [Autocomplete] Clicking the arrow will display the entire list of timezones
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
2017-06-06 18:55:16 -04:00
Dhrubomoy Das Gupta
98cc19c637 [Autocomplete] Check if indexed filteredOptions is defined 2017-06-04 17:49:31 -04:00
Victor Woeltjen
c1128c3156 [Build] Move version comment header into template file
Fixes #1541
2017-06-02 12:40:23 -07:00
Victor Woeltjen
485944a782 [Build] Normalize whitespace in header template 2017-06-02 12:24:25 -07:00
Victor Woeltjen
beb24adf7a [Build] Simplify header template 2017-06-02 12:23:57 -07:00
Victor Woeltjen
6de5f73d78 [Build] Remove obsolete version header 2017-06-02 12:19:37 -07:00
Victor Woeltjen
35b51d151d Merge pull request #1598 from slinto/mct1541
[Build] Include version information in openmct.js
2017-06-02 14:09:45 -05:00
Victor Woeltjen
b2333d83d2 [Imagery] Update policy spec
Fixes #1591
2017-06-01 18:46:22 -07:00
Victor Woeltjen
7513f24ff3 [Imagery] Update value testing in spec 2017-06-01 18:34:26 -07:00
Victor Woeltjen
cb9231f453 [Imagery] Set up test mocks 2017-06-01 18:16:15 -07:00
Victor Woeltjen
1c9230029d [Imagery] Begin updating spec 2017-06-01 15:46:58 -07:00
Victor Woeltjen
e300b49c95 [Imagery] Normalize whitespace in policy 2017-05-31 16:05:57 -07:00
Victor Woeltjen
f6cd35a631 [Imagery] Fix code style issues in spec 2017-05-31 16:04:56 -07:00
Victor Woeltjen
53cecb8909 [Imagery] Add missing semicolon, remove unused vars 2017-05-31 16:02:12 -07:00
Victor Woeltjen
95188f6ce6 [Documentation] Document image hint 2017-05-31 15:57:20 -07:00
Victor Woeltjen
8c7e8dab8e [Imagery] Use consistent field name 2017-05-31 15:52:15 -07:00
Tomáš Stankovič
305d2f60d0 [Build] Include version information in openmct.js 2017-05-31 09:35:55 +02:00
Dhrubomoy Das Gupta
7cdb8db775 [Autocomplete] Hide options if clicked elsewhere. 2017-05-30 23:14:05 -04:00
dhrubomoy
7f14397262 [CLOCK] Issue #1273 : Use '$ scope.field' to avoid hard-coding. 2017-05-30 16:20:12 -04:00
Dhrubomoy Das Gupta
893e24ff98 [CLOCK] Issue #1273 : Allow clock to set timezone with autocomplete dropdown option. 2017-05-28 20:21:52 -04:00
Pete Richards
b60eb6d6ae WIP refactor for new telem api 2017-05-22 18:30:01 -07:00
Pete Richards
26a7fee869 Convert example imagery to plugin 2017-05-22 14:48:12 -07:00
Victor Woeltjen
1bdc0497c7 Merge pull request #1437 from nasa/view-large
[Layout] Add view large button for zooming
2017-05-19 16:29:19 -05:00
Pete Richards
04c2eac9ef [Layout] Add view large button for zooming
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 #1437
Fixes #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
2017-05-18 18:18:19 -07:00
Victor Woeltjen
5daaae36bc Merge pull request #1589 from nasa/protractor-cleanup
[README] Remove reference to protractor
2017-05-18 18:04:08 -05:00
Pete Richards
3dea30b1e1 [README] Remove reference to protractor
Since protractor was removed, remove references in readme.
2017-05-18 15:56:43 -07:00
Victor Woeltjen
9f8578d79e Merge pull request #1586 from nasa/correct-format-updates
[TC] Update format on timesystem change
2017-05-18 15:01:19 -05:00
Victor Woeltjen
0fa5609396 Merge pull request #1587 from nasa/fix-search-indexing
[Search] Use new composition in search
2017-05-18 14:49:47 -05:00
Pete Richards
9956ce31e5 [Search] Use new composition in search
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
2017-05-18 08:51:44 -07:00
Pete Richards
25ff430368 [TC] Update format on timesystem change
Update the format when the timesystem changes.

Fixes https://github.com/nasa/openmct/issues/1585
2017-05-17 18:08:48 -07:00
Victor Woeltjen
cc9a2cbf4f Merge pull request #1584 from nasa/fix-tc-menu
[TC] Fix clock option selection
2017-05-17 13:41:01 -07:00
Pete Richards
cd8c0fa72f [TC] Fix clock option selection 2017-05-17 13:12:36 -07:00
Pete Richards
fff75d111e Merge pull request #1583 from nasa/time-defaults
Time defaults
2017-05-16 17:32:04 -07:00
Pete Richards
f4df84bfa1 [Style] correct style 2017-05-16 17:26:29 -07:00
Pete Richards
0dc65f5dfb [Style] Remove trailing commas
Remove trailing commas that snuck through in #1564.
2017-05-16 15:12:37 -07:00
Pete Richards
6e4abcfed8 [Style] Fix style 2017-05-16 15:08:05 -07:00
Pete Richards
e2f9a0c9cd [dev] proper realtime in dev environment
In dev environment, use proper realtime with a clock.
2017-05-16 14:58:46 -07:00
Pete Richards
749a2ba088 [Docs] Update Time API docs
Update time API docs to accurately reflect usage of the time API.
2017-05-16 14:56:56 -07:00
Pete Richards
b70501a7ed [Time] conditional timeSystem change without bounds
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
2017-05-16 14:31:20 -07:00
Pete Richards
b8ae741969 [Conductor] remove misleading error
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
2017-05-16 14:13:08 -07:00
Pete Richards
9f32b4b9cd [Spec] Update spec for new usage
Add a test for new bounds setting behavior, update other tests
to provide correct mocks for new usage of APIs.

https://github.com/nasa/openmct/issues/1582
2017-05-16 13:49:12 -07:00
Pete Richards
fbf736aaf7 [Conductor] improve validation, properly set defaults
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
2017-05-16 13:07:17 -07:00
Pete Richards
344a325cb5 [Time] Tick when clock set
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
2017-05-16 12:39:16 -07:00
Pete Richards
eb7f78799d Merge pull request #1564 from ivikash/chore/unused_varibales
chore: Remove unsed variables from codebase
2017-05-16 10:36:44 -07:00
Vikash Agrawal
57d3965fa6 chore: Remove unsed variables from codebase 2017-05-16 08:55:21 +05:30
Victor Woeltjen
2df999ef75 Merge pull request #1575 from nasa/guaranteed-request-properties
[Telem] ensure request has minimum fields
2017-05-15 12:08:55 -07:00
Victor Woeltjen
c2cd0db9a3 Merge pull request #1576 from nasa/separate-formats-from-timesystem
Separate formats from timesystem
2017-05-15 12:06:05 -07:00
Pete Richards
04305b7fe5 Merge pull request #1577 from nasa/tc-err-msg
[Time Conductor] Fix link in error message
2017-05-15 11:28:06 -07:00
Victor Woeltjen
d2f13354a7 [Time Conductor] Fix link in error message 2017-05-12 12:31:38 -07:00
Pete Richards
a9067892f4 [Docs] Update format docs
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
2017-05-10 17:47:14 -07:00
Pete Richards
88223f5e6d [Time] Always include basic formats
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
2017-05-10 17:41:25 -07:00
Pete Richards
6310be623a [Telem] ensure request has minimum fields
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.
2017-05-10 17:22:01 -07:00
Victor Woeltjen
6481ddbd7f Merge pull request #1573 from nasa/we-dont-depreciate
[Typo] Fix deprecation warning
2017-05-10 14:54:37 -07:00
Pete Richards
258020624c Merge pull request #1571 from nasa/standardize-type-name
[Types] label -> name
2017-05-10 14:51:25 -07:00
Victor Woeltjen
29d65e9cef Merge pull request #1547 from nasa/no-error-on-root-load
[Browse] Handle missing path and nav to root
2017-05-10 14:51:07 -07:00
Pete Richards
31a605c153 [Typo] Fix deprecation warning
we don't depreciate... we deprecate code.
2017-05-10 14:48:55 -07:00
Pete Richards
08a8207f64 Correct Typo, check with hasOwnProperty
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
2017-05-10 14:39:47 -07:00
Victor Woeltjen
5a9ca08984 Merge pull request #1572 from nasa/standardize-value-hints
Standardize value hints
2017-05-10 13:43:42 -07:00
Pete Richards
0a3d51c6b5 [Telem] add backwards compat and warning
Add backwards compatibility for x/y hints, and log a warning to
console when x/y hints are encountered.

Fixes https://github.com/nasa/openmct/issues/1546
2017-05-09 19:20:03 -07:00
Pete Richards
81208d617f [Spec] Update specs for new calls
Update specs to expect 'domain' instead of 'x'.

Fixes https://github.com/nasa/openmct/issues/1546
2017-05-09 19:02:10 -07:00
Pete Richards
7ba83b639a [Sinewave] Remove unused files
Remove unused files in the sinewave generator.
2017-05-09 18:57:40 -07:00
Pete Richards
6c093160c2 [Sinewave] Remove old config
Remove old time conductor configuration that doesn't do anything
in the current version of the application.
2017-05-09 18:55:57 -07:00
Pete Richards
7706109c81 [Sinewave] Get rid of broken format
Not sure what the Delta value was intended to display, but the
format wasn't working as expected (as far as I can tell), so
removed it for simplicity.
2017-05-09 18:54:29 -07:00
Pete Richards
00bebbc66f [Sinewave] Use newstyle metadata
Update sinewave generator to use newstyle metadata.

https://github.com/nasa/openmct/issues/1546
2017-05-09 18:53:15 -07:00
Pete Richards
3df7e30d2c [Telemetry] x/y -> domain/range
Update source to use domain/range instead of x/y.

https://github.com/nasa/openmct/issues/1546
2017-05-09 18:51:57 -07:00
Pete Richards
c674627ebd [Docs] x/y -> domain/range
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
2017-05-09 18:36:37 -07:00
Pete Richards
c5161887e2 [Types] label -> name
Change label to name, log a warning to console if a typeDef
is registered with a label.

Fixes https://github.com/nasa/openmct/issues/1568.
2017-05-09 17:55:15 -07:00
Victor Woeltjen
f8a04d0fc2 [Timer] cssclass to cssClass
Along with preceding changes, fixes #623
2017-05-03 16:32:41 -07:00
Victor Woeltjen
6e1a43130d [Timers] Simplify mutation calls 2017-05-03 16:15:17 -07:00
Victor Woeltjen
906646704e Merge remote-tracking branch 'origin/master' into open-623 2017-05-03 16:05:03 -07:00
Victor Woeltjen
4e15d8fa1f Merge pull request #1479 from nasa/open1233a
Review and publish Open MCT Style Guide v1
2017-05-02 12:01:25 -07:00
Pete Richards
1f250dd8e7 Merge pull request #1553 from nasa/time-api-redo
[Time API] V1.0 Time API and associated refactoring
2017-05-01 17:11:19 -07:00
Henry
95202611ea [Time Conductor] Removed redundant getTimeSystem function 2017-05-01 16:55:53 -07:00
Henry
d88e905c65 [Time Conductor] Fixed TOI directive which was not being included 2017-05-01 16:24:34 -07:00
Henry
abb7230231 [Time Conductor] Fixed or disabled failing tests 2017-05-01 16:19:11 -07:00
Henry
92d2ec7cf4 [Time Conductor] Addressing comments from code review 2017-05-01 15:01:24 -07:00
Henry
46a51bd8db [Time API] Fixed static code analysis issues 2017-05-01 13:29:14 -07:00
Pete Richards
6680db0b31 Merge pull request #1551 from nasa/msl-units
[Example] Add units to MSL example.
2017-05-01 13:23:12 -07:00
Henry
9ff602a655 [Example] Updated copyright statement in MSL data dictionary 2017-05-01 13:07:32 -07:00
Henry
37c9c6dfaf [Time Conductor] Made corrections to Time API documentation. Added a key field to the NumberFormat so that it can be used with the new format registration mechanism 2017-05-01 11:27:00 -07:00
Henry
0981e99256 [Time API] Updated API documentation to include new Time API options. 2017-04-30 23:21:48 -07:00
Henry
0793442518 [Time API] Provided 'AddFormat' method for registering new formats 2017-04-30 23:21:13 -07:00
Henry
31897ec520 [Time Conductor] Misc. bug fixes, additional documentation for conductor elements, moved and renamed LAD tick source 2017-04-29 16:02:25 -07:00
Henry
6628f93823 [Time API] Updated documentation for Time API 2017-04-29 16:01:20 -07:00
DJ Johnson
8fb9306272 Merge branch 'master' into open-623 2017-04-29 17:10:27 -05:00
Henry
52b6815687 Removed redundant undefined check, and renamed allTimeSystems to getAllTimeSystems 2017-04-28 16:27:07 -07:00
Henry
f17417a541 [Time API] Modified public Time API to support registration of time systems and clocks, setting of active clock, simplification of clocks and time systems, setting of offsets(deltas) and other changes as per #1265 and #1474. Refactoring of UI code to support changes. 2017-04-28 16:03:59 -07:00
Henry
69b06364eb [Example] Add units to MSL example. Recreates functionality from the old live demo 2017-04-27 19:02:35 -07:00
Andrew Henry
1d7d963a4f Merge pull request #1548 from nasa/no-recursive-mutation-on-composition
[API] track composition before notifying listeners
2017-04-27 14:46:02 -07:00
Pete Richards
910d746002 [API] track composition before notifying listeners
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.
2017-04-27 14:19:38 -07:00
Pete Richards
f02f1d47f1 [Browse] Handle missing path and nav to root
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").
2017-04-27 14:14:35 -07:00
Pete Richards
beaf8af2e8 Merge pull request #1544 from nasa/open1543
[Telemetry] Use the 'source' metadata field to retrieve telemetry metadata, if available.
2017-04-27 13:50:04 -07:00
Pete Richards
fce8f13984 Remove check for invalid return, update spec
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
2017-04-27 13:43:54 -07:00
Andrew Henry
bcdad3f19c Merge pull request #1506 from nasa/table-parse-change
[Table] parse/format with datum
2017-04-27 11:43:40 -07:00
Pete Richards
058dfb0c87 Merge pull request #1490 from nasa/open1482
[Edit] Only persist on mutation if model has actually changed locally
2017-04-27 11:28:11 -07:00
Pete Richards
2b41321c03 [Spec] Update API mock
Update telemetry api mock to return proper value formatters.
2017-04-27 11:20:25 -07:00
Pete Richards
5db03bb1bd [Spec] update formatter mock, remove smelly test
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).
2017-04-27 11:15:05 -07:00
Henry
26e13a6cd0 [Telemetry] Use the 'source' metadata field to retrieve telemetry metadata, if available. Fixes #1543. 2017-04-26 21:19:55 -07:00
Henry
00f3b6ce5c Revert "[Telemetry] Use the 'source' metadata field to retrieve telemetry metadata, if available. Fixes #1543."
This reverts commit 11677b97ab.
2017-04-26 21:18:57 -07:00
Henry
11677b97ab [Telemetry] Use the 'source' metadata field to retrieve telemetry metadata, if available. Fixes #1543. 2017-04-26 21:15:52 -07:00
Charles Hacskaylo
281559e84b [Test] Removed example/*.html from karma.conf.js
Fixes #1233
2017-04-26 15:05:35 -07:00
Charles Hacskaylo
5f8a35ecc0 Merge branch 'master' into open1233a 2017-04-26 12:24:47 -07:00
Victor Woeltjen
fd3312734c Merge pull request #1534 from jdsandifer/patch-3
[Documentation] Edit for clarity and style
2017-04-25 16:37:41 -07:00
Victor Woeltjen
6d0476fa0a Merge pull request #1538 from nasa/readme-update
[Docs] Link to correct tutorial
2017-04-25 16:26:02 -07:00
Victor Woeltjen
e41289d694 Merge pull request #1533 from jdsandifer/patch-2
[Documentation] Include 2017 in copyright
2017-04-25 16:23:50 -07:00
Victor Woeltjen
95db207b33 Merge pull request #1532 from jdsandifer/patch-1
[Documentation] Include 2017 in copyright
2017-04-25 16:22:50 -07:00
Henry
222f852af4 [Edit] Only persist on mutation if model has actually changed locally. Fixes #1482 2017-04-24 21:35:42 -07:00
Pete Richards
2a7e6c1173 [Docs] Link to correct tutorial
Link to correct tutorial in readme.

Fixes https://github.com/nasa/openmct/issues/1535
2017-04-24 16:29:41 -07:00
Pete Richards
f07934f512 Merge pull request #1519 from nasa/mct1456
[Duplicate] Differentiate between user cancellation and other errors
2017-04-24 15:39:18 -07:00
Victor Woeltjen
8830ee8c2d Merge pull request #1537 from nasa/open1536
[Style] Fixed build error in master due to extra comma in array
2017-04-24 12:46:44 -07:00
Victor Woeltjen
2a173f67c8 Merge pull request #1522 from nasa/open1494-other
[Fixed Position] Updated fixed position view to use new Telemetry API
2017-04-24 12:45:37 -07:00
Henry
0c5881a1a4 [Style] Removed extra comma that was doing checkstyle a concern. 2017-04-23 17:55:52 -07:00
Andrew Henry
ec4fe8efb3 Merge pull request #1518 from nasa/copyright-1517
[Licenses] Update copyright year to 2017
2017-04-23 17:22:01 -07:00
J.D. Sandifer
922ace1719 [Documentation] Edit for style
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.
2017-04-23 08:10:13 -07:00
J.D. Sandifer
8e82a4a66d [Docs] Edit for clarity
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.
2017-04-23 07:48:42 -07:00
J.D. Sandifer
f6abcf08a7 Include 2017 in copyright
Extends copyright dates to 2017 to contribute to #1517
2017-04-22 16:04:25 -07:00
J.D. Sandifer
fbe43f9ab7 Include 2017 in copyright #1517
Extended main copyright to 2017 on line 3.
2017-04-22 15:50:40 -07:00
Andrew Henry
7c7803310b Merge pull request #1429 from slinto/reduce-d3-size
[Optimization] Reduce D3 dependency size
2017-04-19 16:49:57 -07:00
Andrew Henry
c27053e716 Merge pull request #1520 from nasa/open1485
[Live demo] Remove CSS selector for `button`
2017-04-19 09:42:55 -07:00
Henry
d4fdaf9cbc [Fixed Position] Updated fixed position view to use new Telemetry API
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
2017-04-14 18:22:43 -07:00
DJ
5aa93ba50c [Timer] Back-end code cleanup and removed unused code
Cleaned up code by removing unused and unneeded code and the tests associated with it
2017-04-09 18:40:22 -05:00
Charles Hacskaylo
77ca3e9033 [Frontend] Removed button selector - too broad
Fixes #1485
2017-04-07 16:41:01 -07:00
Victor Woeltjen
6219fa1d87 [Actions] Add CancelError class
eb91cd33be (r107502561)

Fixes #1456
2017-04-05 15:59:41 -07:00
Victor Woeltjen
0cbbeefd62 [Licenses] Update copyright year in About dialog 2017-04-05 15:07:50 -07:00
Victor Woeltjen
185567cf29 [Licenses] Update copyright year to 2017
Fixes #1517
2017-04-05 14:52:46 -07:00
Pete Richards
7dd5da8993 Merge pull request #1487 from nasa/open1483
[Persistence] Prevent editing of objects that cannot be saved. Fixes #1483
2017-04-05 14:39:37 -07:00
Pete Richards
95ac304afb Merge pull request #1504 from nasa/open1293
[API] Removed API classes from Open MCT prototype. Fixes #1293
2017-04-05 14:29:09 -07:00
Pete Richards
80dc5a13b8 Merge remote-tracking branch 'origin/openmct-spec-1218' 2017-04-05 10:19:41 -07:00
Pete Richards
b5abe6527b Merge pull request #1488 from nasa/open1480
Modified MSL data source to use a single cached connection
2017-04-05 10:06:29 -07:00
Pete Richards
616aab4a2d Merge remote-tracking branch 'origin/open1415' 2017-04-05 10:03:44 -07:00
Andrew Henry
12e693941c Merge pull request #1500 from nasa/open1469
[Features] Added Autoflow Tabular to open source features. Fixes #1469
2017-04-04 16:38:50 -07:00
Andrew Henry
59c61e72b8 [Features] Added option to specify a type to exclusively apply the Autoflow view to 2017-04-04 16:33:36 -07:00
Pete Richards
3ce954c68c Merge pull request #1505 from nasa/conductor-unpleasantness
[Time Conductor] Removed caching of UTC Time System defaults
2017-04-04 16:03:32 -07:00
Pete Richards
df0d4dff6f Merge pull request #1515 from nasa/open1498
Removed contextualization warning.
2017-04-04 15:44:16 -07:00
Henry
a867cd6be0 Removed contextualization warning. Removed now redundant Contextualize service. Fixes #1498 2017-04-04 15:39:10 -07:00
Victor Woeltjen
b48dd4b63b [Testing] Test start event on MCT 2017-04-04 11:35:49 -07:00
Victor Woeltjen
35c457b7fb [Testing] Test MCT.setAssetPath 2017-04-04 11:25:35 -07:00
Victor Woeltjen
6870055033 [Testing] Test plugin installation 2017-04-04 11:19:45 -07:00
Victor Woeltjen
5f968b50f8 [Build] Enable coverage of src
For #1218
2017-04-04 11:16:24 -07:00
Andrew Henry
251438eefd Merge pull request #1508 from nasa/web-page-val-1507
[Web Page] Allow dashes in domains
2017-04-03 15:49:25 -07:00
Victor Woeltjen
c07a372c6e [Web Page] Simplify RegEx
https://github.com/nasa/openmct/pull/1508#issuecomment-291271270
2017-04-03 14:23:25 -07:00
Victor Woeltjen
f666a7ca09 [Web Page] Allow dashes in domains
Fixes #1507
2017-04-03 13:29:48 -07:00
Pete Richards
0434928f55 [Table] parse/format with datum
Use formatter to parse format datum such that source remapping
is properly handled.
2017-04-03 09:46:41 -07:00
Henry
c27b37918a [Time Conductor] Removed caching of UTC Time System defaults which was causing gaps in plots. Fixes #1434 2017-03-31 15:39:13 -07:00
Victor Woeltjen
67eab82bd1 [Testing] Begin testing MCT
Fixes #1218
2017-03-31 12:42:47 -07:00
Henry
8d86ca05da [API] Removed API classes from Open MCT prototype. Fixes #1293 2017-03-30 11:03:14 -07:00
Victor Woeltjen
4d6a0d4931 Merge pull request #1493 from nasa/updated-docs
[Docs] Replace existing API documentation with V1 public API docs
2017-03-29 15:05:19 -07:00
Henry
4ae35576a5 [Features] Added Autoflow Tabular to open source features. Fixes #1469 2017-03-29 13:30:21 -07:00
Henry
af622599a5 [Docs] Updated API docs to reflect V1 public API
Cleaned up docs. Addresses #1473
2017-03-28 12:03:00 -07:00
Pete Richards
12d1302138 Merge pull request #1459 from nasa/open1458
[Plot] Add current conductor bounds to telemetry requests via the old API.
2017-03-27 15:21:47 -07:00
Henry
09419398e9 [Telemetry] Added unit tests for addition of bounds and domains to telemetry requests 2017-03-27 14:53:41 -07:00
Victor Woeltjen
b69e03368a Merge pull request #1489 from nasa/open1484
[Example] Update images to be more rovery. Fixes #1484
2017-03-27 13:58:26 -07:00
Henry
4e457f1cf0 Fixed failing tests, and added new tests 2017-03-27 11:15:27 -07:00
Henry
4196da9f52 [Example] Update images to be more rovery. Fixes #1484 2017-03-26 17:52:14 -07:00
Henry
a59177447b [Examples] Modified MSL data source to use a single cached connection. Fixes #1480 2017-03-26 17:39:58 -07:00
Henry
529abcc4b0 Added composition policy to prevent composition of non-persistable parent, except in the case of a new object in which case the parent may change 2017-03-24 17:00:12 -07:00
Henry
1cb5dd021f Modified composition policies to consider object instances instead of types. Fixes #669 2017-03-24 16:59:30 -07:00
Henry
399b745084 [Persistence] Prevent editing of objects that cannot be saved. Fixes #1483 2017-03-24 14:01:39 -07:00
Victor Woeltjen
f09a76e23b Merge pull request #1478 from nasa/open1266
[Frontend] .form-row cleanups for Inspector
2017-03-21 11:57:39 -07:00
Charles Hacskaylo
977aea45b3 [Styleguide] Removed example/msl
Fixes #1233
2017-03-21 10:50:42 -07:00
Charles Hacskaylo
16b6a70e22 [Frontend] Cleanups for Inspector
Fixes #1266
2017-03-21 10:18:29 -07:00
Charles Hacskaylo
9b38484438 [Styleguide] Intro content updated
Fixes #1233
2017-03-17 16:28:11 -07:00
Charles Hacskaylo
77aa8c8374 Merge branch 'open1233a' of https://github.com/nasa/openmct into open1233a 2017-03-17 16:26:56 -07:00
Charles Hacskaylo
856f3d2061 [Styleguide] Intro content updated
Fixes #1233
2017-03-17 16:26:11 -07:00
Charles Hacskaylo
d712a96fdc [Styleguide] Diagrams and intro content updated
Fixes #1233
2017-03-17 16:22:50 -07:00
Charles Hacskaylo
ba243e9093 Minor tweaks 2017-03-16 15:59:51 -07:00
Charles Hacskaylo
c36ce15a00 [Styleguide] Page types now working
Fixes #1233
2017-03-15 18:24:18 -07:00
Charles Hacskaylo
d39ab17db4 [Styleguide] Merge in latest master
Fixes #1233
Todo: Need to fix page types
2017-03-15 17:09:52 -07:00
Andrew Henry
1a7260cc14 Revert "Disable plot by default"
This reverts commit 8a75381a3d.
2017-03-15 12:45:44 +00:00
Andrew Henry
8a75381a3d Disable plot by default 2017-03-15 12:41:25 +00:00
Pete Richards
c394fe9287 Merge remote-tracking branch 'origin/open1465' 2017-03-03 11:26:25 -08:00
Henry
06f4a955b5 [Tables] Maintain correct insertion order with duplicates. Fixes #1465 2017-03-02 14:29:08 -08:00
Henry
a2bf92db97 [Tables] Subscribe to parent if a telemetry object, or children, but not both. Fixes #1464 2017-03-01 18:55:17 -08:00
Henry
da40f4c96e [Plot] Add current conductor bounds to telemetry requests via the old API. Replaces telemetry decorator. Fixes #1458 2017-02-27 19:26:51 -08:00
Charles Hacskaylo
6fa5a31217 Merge pull request #1433 from nasa/open1432
[Build] Installed sound suppression system for Bourbon deprecation messages.
2017-02-27 11:12:27 -08:00
Bogdan
eb91cd33be [Copy] Diff between user cancellation and failure 2017-02-25 15:05:29 +02:00
Pete Richards
5bc7a701dc Merge pull request #1455 from nasa/api-conductor-config
[Conductor] Allow configuration of conductor defaults
2017-02-24 14:58:50 -08:00
Pete Richards
5cd0516048 Enable TC by default and hide
Set up TC so that it is always enabled and defaults to realtime mode.

This allows us to have warp-like functionality without showing
the TC interface, and simplifies a lot of tutorials.  We can still
reconfigure the TC by re-installing the plugin with different settings
2017-02-24 14:56:18 -08:00
Pete Richards
48a603ece8 Merge branch 'api-legacy-telemetry-provider-v2' 2017-02-24 14:47:10 -08:00
Pete Richards
abfa56464a Merge branch 'plugins-functions' 2017-02-24 14:34:54 -08:00
Henry
c1d6e21c3c Added tests. Fixes #1364 2017-02-23 13:50:14 -08:00
Henry
3bd556a406 Fixed failing tests 2017-02-23 10:21:33 -08:00
Henry
347fb6d882 Fixed style errors 2017-02-23 10:19:10 -08:00
Henry
b3cf7a5d93 Added support for new style telemetry providers from old screens. Converted SWG to new style data adapter 2017-02-23 09:58:46 -08:00
Andrew Henry
c7cffdeb3b Merge pull request #1453 from nasa/restore-search-navigation
[Search] Allow navigation from results
2017-02-22 13:21:03 -08:00
Pete Richards
d45ae7908d [Search] Allow navigation from results
Fix search item so that navigation occurs after clicking on
a search result, while still properly preventing navigation
when required.

Related to #1366
2017-02-22 13:08:54 -08:00
Henry
b10fb4533e All builtin plugins now standardized as functions 2017-02-22 12:51:49 -08:00
Andrew Henry
c74fdb816f Merge pull request #1450 from nasa/fix-table-tests
Add hasCapability to mock
2017-02-21 18:14:18 -08:00
Pete Richards
40985a56c8 Add hasCapability to mock 2017-02-21 18:01:43 -08:00
Pete Richards
5c01f0be24 Merge branch 'open1077' into 1435-integration 2017-02-21 17:22:36 -08:00
Andrew Henry
f7ff5af60b Merge pull request #1448 from nasa/update-composition-policy
Update composition policy
2017-02-21 17:18:59 -08:00
Andrew Henry
2088fc52f3 Merge pull request #1446 from nasa/fix-orphan-navigation
Orphan check uses capability not model
2017-02-21 17:08:40 -08:00
Andrew Henry
db33ab143e Merge pull request #1445 from nasa/api-updates
Api updates
2017-02-21 17:04:45 -08:00
Pete Richards
8c77d4006a Pass options to support checks 2017-02-21 17:03:16 -08:00
Pete Richards
2fa567b98b [Table] Track by index, save the elements 2017-02-21 16:49:39 -08:00
Andrew Henry
e61f04663a Merge pull request #1444 from nasa/consistent-css-class
cssclass is now cssClass
2017-02-21 16:36:30 -08:00
Andrew Henry
4b905fa7d2 Merge pull request #1443 from nasa/remove-old-bundle-loading
Stop loading bundles.json
2017-02-21 16:32:26 -08:00
Andrew Henry
5e6e7f018a Merge pull request #1442 from nasa/dev-skip-optimize
[Build] Skip optimize in dev environment
2017-02-21 16:26:41 -08:00
Andrew Henry
53f56b430a Merge pull request #1449 from nasa/identifier-not-key
[API] Use proper key format
2017-02-21 16:24:17 -08:00
Pete Richards
50c934820c Merge pull request #1424 from nasa/open1382
[Tables] Do not persist column configuration for non-editable objects
2017-02-21 15:18:56 -08:00
Pete Richards
2a10a2cae2 Update specs to match composition policies 2017-02-21 15:14:35 -08:00
Pete Richards
65325b90fd Composition policy takes child instance
The composition policy now takes a child instance instead
of the child type, as in all cases we have access to the child
object.

This allows new-style objects to be contained by old-style objects.

Updated all composition policies to use standardized argument names
instead of `context` and `candidate`; this makes it easier to
understand.

Updated AddActionProvider to hardcode the object types supported.
2017-02-21 12:32:49 -08:00
Pete Richards
cfecc36ae6 Orphan check uses capability not model
Switch orphan checking to use capability instead of model.

This ensures that new-style composition providers work as intended.
2017-02-21 12:10:17 -08:00
Pete Richards
d9f8622459 [Telemetry] Update TelemetryProvider API
Based on feedback from tutorial sprint, update provider API,
formatter API, and legacy adapter code.

Providers can now implement separate checks for providing realtime
and historical data, and providers are not registered with a specific
strategy.  Strategy is instead intended to be an attribute in the
request options.

Removed unused code in the telemetry API and simplify limitEvaluators.
2017-02-21 11:51:32 -08:00
Pete Richards
8e13819e1e [API] composition providers receive new-style objects
Ensure that composition providers get new-style objects (with id
included) so that they can properly check for applicability.
2017-02-21 11:21:08 -08:00
Pete Richards
aaedf5d576 cssclass is now cssClass
Make property name consistent with standard camelCase naming.
2017-02-21 11:14:46 -08:00
Pete Richards
af9ffaf02d Stop loading bundles.json
Stop application from requesting bundles.json at first load.  This was
confusing to some external developers who would see an error in the
log and not know the cause.
2017-02-21 11:11:16 -08:00
Pete Richards
970acbd56e [Build] Skip optimize in dev environment
Skip optimize in dev environment to speed up project rebuilds.  Very helpful
when integration testing openmct.js build artifact.
2017-02-21 11:05:20 -08:00
Andrew Henry
46c7399867 Merge pull request #1410 from joshbaldwin/master
adding MCT name to README
2017-02-21 09:09:51 -08:00
Charles Hacskaylo
2ed12d4ca3 [Frontend] WIP Style Guide
Fixes #1233
Update glyphs data from symbols spreadsheet to pull in
new expand glyph and reflect minor organizational changes;
2017-02-16 15:03:47 -08:00
Charles Hacskaylo
1edd2043dc [Frontend] WIP Style Guide
Fixes #1233
Added new "icon-expand" glyph and class;
(cherry picked from commit adfbfc4)
2017-02-16 13:52:59 -08:00
Andrew Henry
9a6745635d Merge pull request #1431 from dhrubomoy/master
[Documentation] Fixed filename
2017-02-15 10:18:46 -08:00
Charles Hacskaylo
2c5dd96de1 [Frontend] WIP Style Guide
Fixes #1233
Tweak to color swatch shape
2017-02-14 15:45:44 -08:00
Henry
34dc457aff [Tables] Restored telemetry datum field 'name'. Fixed bug with default sort not working 2017-02-10 15:39:39 -08:00
Henry
a3311e4c57 [Tables] Tests and style fixes 2017-02-10 14:22:30 -08:00
Henry
ef8efbd53d [Tables] Default UTC time system if available and none others defined 2017-02-10 14:22:28 -08:00
Henry
6cd99efbb9 [Tables] Added telemetry buffer so that subscription data is not discarded if it's beyond the end bounds 2017-02-10 14:22:28 -08:00
Henry
ae2b73a4f5 [Tables] Increase default table size 2017-02-10 14:22:28 -08:00
Henry
0c3ff82cfe [Table] Added ticking to combined historical/real-time table
Don't add duplicate telemetry data
2017-02-10 14:22:20 -08:00
Henry
50f303bbdc [Tables] limit digests to increase performance 2017-02-10 14:22:20 -08:00
Henry
2a4944d6ee [Tables] Refactoring for consolidation of historical and real-time tables
Added batch processing of large historical queries. #1077
2017-02-10 14:21:48 -08:00
Henry
3544caf4be [API] Observer path was accessing object key incorrectly 2017-02-10 14:21:47 -08:00
Henry
976333d7f7 [Tables] Support for subscriptions from new Telemetry API
Historical and real-time data flowing

Added formatting, and limits. Support telemetry objects themselves and not just composition of telemetry objects

Apply default time range if none supplied (15 minutes)
2017-02-10 14:21:26 -08:00
Henry
6d5530ba9c [Tables] Using new composition API to fetch all telemetry objects 2017-02-10 14:12:10 -08:00
Henry
77d0134e2e [Build] Added Bourbon deprecation warning suppression system. 2017-02-10 10:03:05 -08:00
Dhrubomoy Das Gupta
d3b4ad41c2 [Documentation] Fixed filename
Fixed file name "Platform.md" to "platform.md". "Platform.md" was giving a 404 error when clicked, in github and in the official site as well.
2017-02-09 20:54:52 -05:00
Charles Hacskaylo
f8c4c70623 Merge remote-tracking branch 'origin/master' into open1233a 2017-02-08 15:32:37 -08:00
Charles Hacskaylo
e268e357b3 [Frontend] WIP Style Guide
Fixes #1233
Added colors page content and display code;
Added conditional hide/show per theme;
2017-02-08 15:32:04 -08:00
Tomáš Stankovič
af3cbe9ed1 [Optimization] Reduce D3 dependency size
#1224
2017-02-07 23:11:23 +01:00
Charles Hacskaylo
4740faab6f [Frontend] WIP Style Guide
Fixes #1233
Refactoring to generalize plot styles
2017-02-06 14:49:25 -08:00
Charles Hacskaylo
37478bc391 [Frontend] WIP Style Guide
Fixes #1233
More content; table styling
2017-02-06 14:48:55 -08:00
Charles Hacskaylo
10dcb3a667 [Frontend] WIP Style Guide
Fixes #1233
More content
2017-02-06 11:42:39 -08:00
Henry
3d3baddd23 [Tables] Do not persist column configuration for non-editable objects 2017-02-02 15:44:36 -08:00
Charles Hacskaylo
f306180ab6 [Docs] WIP Style Guide
Fixes #1233
Fix Style Guide tree elements to
no longer render as links;
2017-02-01 14:10:48 -08:00
Charles Hacskaylo
9475a22831 [Frontend] WIP Style Guide
Fixes #1233
Modified platform global font-weight and
input font usage for legibility;
2017-01-31 18:13:01 -08:00
Charles Hacskaylo
2c3a09f448 [Frontend] WIP Style Guide
Fixes #1233
Style-guide thematic color constants added;
Normalized doc-title content across files;
Additional detail in glyphs.html;
2017-01-31 18:12:29 -08:00
Charles Hacskaylo
7543faa577 [Frontend] WIP Style Guide
Fixes #1233
Adds to text inputs content;
Mods to MCTExample to allow a padded
wrapper around <pre> element;
Fixed snow theme css file reference;
2017-01-31 17:21:22 -08:00
Charles Hacskaylo
3c81398865 [Frontend] WIP Style Guide
Fixes #1233
More glyphs content: usage, guidelines, etc.
2017-01-31 16:45:53 -08:00
Charles Hacskaylo
caa489f58a [Frontend] WIP Style Guide
Fixes #1233
Mods to core CSS for consistency
2017-01-31 16:09:24 -08:00
Charles Hacskaylo
43117a7ebe [Frontend] WIP Style Guide
Fixes #1233
Add major new content, glyphs page and display code;
minor layout tweaks;
2017-01-31 16:07:40 -08:00
Charles Hacskaylo
563b02bb1d [Docs] WIP Style Guide
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.
2017-01-30 15:57:55 -08:00
Pete Richards
93aa6a18f2 Remove ng-scope in example 2017-01-30 15:24:25 -08:00
Charles Hacskaylo
b8d8f40ed7 [Docs] WIP Style Guide
Fixes #1233
Additional content; tweak to H3 margins
2017-01-30 14:52:57 -08:00
Charles Hacskaylo
e010dbb324 [Docs] WIP Style Guide
Fixes #1233
Additional content; tweak to H3 margins
2017-01-30 14:42:28 -08:00
Pete Richards
bd397c869e Add mct-example directive 2017-01-30 13:52:08 -08:00
Charles Hacskaylo
754a2c16bd [Docs] WIP Style Guide
Fixes #1233
2017-01-30 13:46:10 -08:00
Charles Hacskaylo
57a9ffe6ab [Docs] WIP Style Guide
Fixes #1233
2017-01-30 13:15:35 -08:00
Charles Hacskaylo
f00182968b [Frontend] WIP Style Guide
Fixes #1233
Theme-based styling added; significant mods to
layout; Content for controls page;
2017-01-27 18:19:44 -08:00
Charles Hacskaylo
77396093d8 [Frontend] Merge old open1233a into latest master
Fixes #1233
2017-01-27 15:39:18 -08:00
Charles Hacskaylo
784114e256 [Frontend] Add grab affordance grippys
Fixes #1415
2017-01-27 14:07:36 -08:00
Charles Hacskaylo
d1e7e7894e [Frontend] Add grab affordance styling on hover
Fixes #1415
2017-01-27 13:58:38 -08:00
Charles Hacskaylo
65bf38d5e6 [Frontend] Add grab affordance styling on hover
Fixes #1415
WIP
2017-01-27 11:16:06 -08:00
Charles Hacskaylo
26db493b0d [Frontend] Removed unused var
Fixes #623
Removed stateCssClass, not needed;
2017-01-26 15:27:05 -08:00
Charles Hacskaylo
6459f410e7 [Frontend] Code style cleanups in Timer *spec files
Fixes #623
Moved testState() function placement in code;
Added semicolons;
2017-01-26 15:09:01 -08:00
Charles Hacskaylo
4072b91808 [Frontend] Styling for Timer
Fixes #623
Mod to code to allow timerState to be accessible
to markup; CSS for stop button and paused/stopped states
2017-01-26 11:57:08 -08:00
Charles Hacskaylo
8750bdd778 Merge branch 'open623' of https://github.com/DocJava/openmct into DocJava-open623 2017-01-25 17:17:53 -08:00
DJ
60a8ee657a [Timer] Updated Timer UI and fixed tests
Added peeking stop button to view, added legacy and first run support, added new and fixed old tests
2017-01-25 18:21:52 -06:00
Josh Baldwin
9f9d28deef adding MCT name to README 2017-01-21 11:27:20 -05:00
DJ
ecf1bac5c7 [Timer] Updated Timer UI to indicate playing or paused state
Removed PauseCheck & TimeOfPause from properties, Removed duplicate functionality Resume class , replaced peeking restart at 0 button with persistent play/pause button
2017-01-18 07:08:54 -06:00
DJ
d04bdd2685 [Timer] Removed icon-stop
Removed icon-stop, identical to icon-box
2017-01-17 19:55:32 -06:00
DJ
165bd4f638 [Clocks / Timers]  adding ability to pause and resume
added the alternating pause and resume timer
2017-01-14 16:43:20 -06:00
DJ
9df59522d9 [Clocks / Timers]  adding ability to stop
added the stop timer menu option
2017-01-14 16:42:44 -06:00
DJ
7fc66e2de8 [Clocks/Timers] renaming of Abstract class
renaming AbstractStartTimerAction to AbstractTime
2017-01-14 16:41:54 -06:00
1096 changed files with 15610 additions and 8990 deletions

2
.gitignore vendored
View File

@@ -36,3 +36,5 @@ protractor/logs
# npm-debug log
npm-debug.log
package-lock.json

View File

@@ -15,7 +15,8 @@
"predef": [
"define",
"Promise",
"WeakMap"
"WeakMap",
"Map"
],
"shadow": "outer",
"strict": "implied",

997
API.md

File diff suppressed because it is too large Load Diff

View File

@@ -43,9 +43,9 @@ the check-in process. These roles are:
Three basic types of branches may be included in the above repository:
1. Master branch.
2. Topic branches.
3. Developer branches.
1. Master branch
2. Topic branches
3. Developer branches
Branches which do not fit into the above categories may be created and used
during the course of development for various reasons, such as large-scale
@@ -107,7 +107,7 @@ back into the master branch is to file a Pull Request. The contributions
should meet code, test, and commit message standards as described below,
and the pull request should include a completed author checklist, also
as described below. Pull requests may be assigned to specific team
members when appropriate (e.g. to draw to a specific person's attention.)
members when appropriate (e.g. to draw to a specific person's attention).
Code review should take place using discussion features within the pull
request. When the reviewer is satisfied, they should add a comment to
@@ -130,26 +130,26 @@ settings. This is verified by the command line build.
JavaScript sources in Open MCT should:
* Use four spaces for indentation. Tabs should not be used.
* Include JSDoc for any exposed API (e.g. public methods, constructors.)
* Include JSDoc for any exposed API (e.g. public methods, constructors).
* Include non-JSDoc comments as-needed for explaining private variables,
methods, or algorithms when they are non-obvious.
* Define one public class per script, expressed as a constructor function
returned from an AMD-style module.
* Follow “Java-like” naming conventions. These includes:
* Classes should use camel case, first letter capitalized
(e.g. SomeClassName.)
(e.g. SomeClassName).
* Methods, variables, fields, and function names should use camel case,
first letter lower-case (e.g. someVariableName.) Constants
(variables or fields which are meant to be declared and initialized
statically, and never changed) should use only capital letters, with
underscores between words (e.g. SOME_CONSTANT.)
* File name should be the name of the exported class, plus a .js extension
(e.g. SomeClassName.js)
first letter lower-case (e.g. someVariableName).
* Constants (variables or fields which are meant to be declared and
initialized statically, and never changed) should use only capital
letters, with underscores between words (e.g. SOME_CONSTANT).
* File names should be the name of the exported class, plus a .js extension
(e.g. SomeClassName.js).
* Avoid anonymous functions, except when functions are short (a few lines)
and/or their inclusion makes sense within the flow of the code
(e.g. as arguments to a forEach call.)
(e.g. as arguments to a forEach call).
* Avoid deep nesting (especially of functions), except where necessary
(e.g. due to closure scope.)
(e.g. due to closure scope).
* End with a single new-line character.
* Expose public methods by declaring them on the class's prototype.
* Within a given function's scope, do not mix declarations and imperative
@@ -234,7 +234,7 @@ Commit messages should:
line of white space.
* Contain a short (usually one word) reference to the feature or subsystem
the commit effects, in square brackets, at the start of the subject line
(e.g. `[Documentation] Draft of check-in process`)
(e.g. `[Documentation] Draft of check-in process`).
* Contain a reference to a relevant issue number in the body of the commit.
* This is important for traceability; while branch names also provide this,
you cannot tell from looking at a commit what branch it was authored on.
@@ -250,9 +250,9 @@ Commit messages should:
Commit messages should not:
* Exceed 54 characters in length on the subject line.
* Exceed 72 characters in length in the body of the commit.
* Exceed 72 characters in length in the body of the commit,
* Except where necessary to maintain the structure of machine-readable or
machine-generated text (e.g. error messages)
machine-generated text (e.g. error messages).
See [Contributing to a Project](http://git-scm.com/book/ch5-2.html) from
Pro Git by Shawn Chacon and Ben Straub for a bit of the rationale behind
@@ -260,7 +260,7 @@ these standards.
## Issue Reporting
Issues are tracked at https://github.com/nasa/openmct/issues
Issues are tracked at https://github.com/nasa/openmct/issues.
Issues should include:
@@ -284,7 +284,7 @@ Issue severity is categorized as follows (in ascending order):
The following check lists should be completed and attached to pull requests
when they are filed (author checklist) and when they are merged (reviewer
checklist.)
checklist).
### Author Checklist

View File

@@ -1,6 +1,6 @@
# Open MCT Licenses
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.

View File

@@ -1,6 +1,6 @@
# Open MCT [![license](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0)
Open MCT is a next-generation mission control framework for visualization of data on desktop and mobile devices. It is developed at NASA's Ames Research Center, and is being used by NASA for data analysis of spacecraft missions, as well as planning and operation of experimental rover systems. As a generalizable and open source framework, Open MCT could be used as the basis for building applications for planning, operation, and analysis of any systems producing telemetry data.
Open MCT (Open Mission Control Technologies) is a next-generation mission control framework for visualization of data on desktop and mobile devices. It is developed at NASA's Ames Research Center, and is being used by NASA for data analysis of spacecraft missions, as well as planning and operation of experimental rover systems. As a generalizable and open source framework, Open MCT could be used as the basis for building applications for planning, operation, and analysis of any systems producing telemetry data.
Please visit our [Official Site](https://nasa.github.io/openmct/) and [Getting Started Guide](https://nasa.github.io/openmct/getting-started/)
@@ -55,7 +55,7 @@ Documentation is available on the [Open MCT website](https://nasa.github.io/open
### Examples
The clearest examples for developing Open MCT plugins are in the
[tutorials](https://nasa.github.io/openmct/docs/tutorials/) provided in
[tutorials](https://github.com/nasa/openmct-tutorial) provided in
our documentation.
For a practical example of a telemetry adapter, see David Hudson's
@@ -137,20 +137,6 @@ naming convention is otherwise the same.)
When `npm test` is run, test results will be written as HTML to
`target/tests`. Code coverage information is written to `target/coverage`.
### Functional Testing
The tests described above are all at the unit-level; an additional
test suite using [Protractor](https://angular.github.io/protractor/)
is under development, in the `protractor` folder.
To run:
* Install protractor following the instructions above.
* `cd protractor`
* `npm install`
* `npm run all`
# Glossary
Certain terms are used throughout Open MCT with consistent meanings

View File

@@ -22,7 +22,7 @@
"eventemitter3": "^1.2.0",
"lodash": "3.10.1",
"almond": "~0.3.2",
"d3": "~4.1.0",
"html2canvas": "^0.4.1"
"html2canvas": "^0.4.1",
"moment-timezone": "^0.5.13"
}
}

View File

@@ -1,7 +1,7 @@
#!/bin/bash
#*****************************************************************************
#* Open MCT, Copyright (c) 2014-2016, United States Government
#* Open MCT, Copyright (c) 2014-2017, United States Government
#* as represented by the Administrator of the National Aeronautics and Space
#* Administration. All rights reserved.
#*

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -131,7 +131,7 @@ Keeping that in mind, there are a few useful patterns supported by the
framework that are useful to keep in mind.
The specific service infrastructure provided by the platform is described
in the [Platform Architecture](Platform.md).
in the [Platform Architecture](platform.md).
## Extension Categories

View File

@@ -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,10 +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 are
allowed to contain domain objects of another type. The candidate argument here
is the container's `Type`; the context argument is the `Type` of the object to be
contained.
* `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.

View File

@@ -156,7 +156,7 @@ has been finalized.
#### Before
```html
<!--
Open MCT, Copyright (c) 2014-2016, United States Government
Open MCT, Copyright (c) 2014-2017, United States Government
as represented by the Administrator of the National Aeronautics and Space
Administration. All rights reserved.
@@ -221,7 +221,7 @@ __index.html__
```html
<!--
Open MCT, Copyright (c) 2014-2016, United States Government
Open MCT, Copyright (c) 2014-2017, United States Government
as represented by the Administrator of the National Aeronautics and Space
Administration. All rights reserved.
@@ -320,7 +320,7 @@ define([
+ {
+ "key": "example.todo",
+ "name": "To-Do List",
+ "cssclass": "icon-check",
+ "cssClass": "icon-check",
+ "description": "A list of things that need to be done.",
+ "features": ["creation"]
+ }
@@ -340,7 +340,7 @@ Going through the properties we've defined:
domain objects of this type.
* The `name` of "To-Do List" is the human-readable name for this type, and will
be shown to users.
* The `cssclass` maps to an icon that will be shown for each To-Do List. The icons
* The `cssClass` maps to an icon that will be shown for each To-Do List. The icons
are defined in our [custom open MCT icon set](https://github.com/nasa/openmct/blob/master/platform/commonUI/general/res/sass/_glyphs.scss).
A complete list of available icons will be provided in the future.
* The `description` is also human-readable, and will be used whenever a longer
@@ -416,7 +416,7 @@ define([
{
"key": "example.todo",
"name": "To-Do List",
"cssclass": "icon-check",
"cssClass": "icon-check",
"description": "A list of things that need to be done.",
"features": ["creation"]
}
@@ -425,7 +425,7 @@ define([
+ {
+ "key": "example.todo",
+ "type": "example.todo",
+ "cssclass": "icon-check",
+ "cssClass": "icon-check",
+ "name": "List",
+ "templateUrl": "templates/todo.html",
+ "editable": true
@@ -447,7 +447,7 @@ the domain object type, but could have chosen any unique name.
domain objects of that type. This means that we'll see this view for To-do Lists
that we create, but not for other domain objects (such as Folders.)
* The `cssclass` and `name` properties describe the icon and human-readable name
* The `cssClass` and `name` properties describe the icon and human-readable name
for this view to display in the UI where needed (if multiple views are available
for To-do Lists, the user will be able to choose one.)
@@ -473,7 +473,7 @@ define([
{
"key": "example.todo",
"name": "To-Do List",
"cssclass": "icon-check",
"cssClass": "icon-check",
"description": "A list of things that need to be done.",
"features": ["creation"],
+ "model": {
@@ -488,7 +488,7 @@ define([
{
"key": "example.todo",
"type": "example.todo",
"cssclass": "icon-check",
"cssClass": "icon-check",
"name": "List",
"templateUrl": "templates/todo.html",
"editable": true
@@ -647,7 +647,7 @@ define([
{
"key": "example.todo",
"name": "To-Do List",
"cssclass": "icon-check",
"cssClass": "icon-check",
"description": "A list of things that need to be done.",
"features": ["creation"],
"model": {
@@ -662,7 +662,7 @@ define([
{
"key": "example.todo",
"type": "example.todo",
"cssclass": "icon-check",
"cssClass": "icon-check",
"name": "List",
"templateUrl": "templates/todo.html",
"editable": true
@@ -741,7 +741,7 @@ define([
{
"key": "example.todo",
"name": "To-Do List",
"cssclass": "icon-check",
"cssClass": "icon-check",
"description": "A list of things that need to be done.",
"features": ["creation"],
"model": {
@@ -756,7 +756,7 @@ define([
{
"key": "example.todo",
"type": "example.todo",
"cssclass": "icon-check",
"cssClass": "icon-check",
"name": "List",
"templateUrl": "templates/todo.html",
"editable": true,
@@ -766,7 +766,7 @@ define([
+ "items": [
+ {
+ "text": "Add Task",
+ "cssclass": "icon-plus",
+ "cssClass": "icon-plus",
+ "method": "addTask",
+ "control": "button"
+ }
@@ -775,7 +775,7 @@ define([
+ {
+ "items": [
+ {
+ "cssclass": "icon-trash",
+ "cssClass": "icon-trash",
+ "method": "removeTask",
+ "control": "button"
+ }
@@ -971,7 +971,7 @@ define([
{
"key": "example.todo",
"name": "To-Do List",
"cssclass": "icon-check",
"cssClass": "icon-check",
"description": "A list of things that need to be done.",
"features": ["creation"],
"model": {
@@ -986,7 +986,7 @@ define([
{
"key": "example.todo",
"type": "example.todo",
"cssclass": "icon-check",
"cssClass": "icon-check",
"name": "List",
"templateUrl": "templates/todo.html",
"editable": true,
@@ -996,7 +996,7 @@ define([
"items": [
{
"text": "Add Task",
"cssclass": "icon-plus",
"cssClass": "icon-plus",
"method": "addTask",
"control": "button"
}
@@ -1005,7 +1005,7 @@ define([
{
"items": [
{
"cssclass": "icon-trash",
"cssClass": "icon-trash",
"method": "removeTask",
"control": "button"
}
@@ -1236,7 +1236,7 @@ define([
{
"key": "example.todo",
"name": "To-Do List",
"cssclass": "icon-check",
"cssClass": "icon-check",
"description": "A list of things that need to be done.",
"features": ["creation"],
"model": {
@@ -1248,7 +1248,7 @@ define([
{
"key": "example.todo",
"type": "example.todo",
"cssclass": "icon-check",
"cssClass": "icon-check",
"name": "List",
"templateUrl": "templates/todo.html",
"editable": true,
@@ -1258,7 +1258,7 @@ define([
"items": [
{
"text": "Add Task",
"cssclass": "icon-plus",
"cssClass": "icon-plus",
"method": "addTask",
"control": "button"
}
@@ -1267,7 +1267,7 @@ define([
{
"items": [
{
"cssclass": "icon-trash",
"cssClass": "icon-trash",
"method": "removeTask",
"control": "button"
}
@@ -1374,7 +1374,7 @@ define([
{
"name": "Bar Graph",
"key": "example.bargraph",
"cssclass": "icon-autoflow-tabular",
"cssClass": "icon-autoflow-tabular",
"templateUrl": "templates/bargraph.html",
"needs": [ "telemetry" ],
"delegation": true
@@ -1677,7 +1677,7 @@ define([
{
"name": "Bar Graph",
"key": "example.bargraph",
"cssclass": "icon-autoflow-tabular",
"cssClass": "icon-autoflow-tabular",
"templateUrl": "templates/bargraph.html",
"needs": [ "telemetry" ],
"delegation": true
@@ -1843,7 +1843,7 @@ define([
{
"name": "Bar Graph",
"key": "example.bargraph",
"cssclass": "icon-autoflow-tabular",
"cssClass": "icon-autoflow-tabular",
"templateUrl": "templates/bargraph.html",
"needs": [ "telemetry" ],
"delegation": true,
@@ -2320,7 +2320,7 @@ define([
{
"name": "Spacecraft",
"key": "example.spacecraft",
"cssclass": "icon-object"
"cssClass": "icon-object"
}
],
"roots": [
@@ -2356,7 +2356,7 @@ If we include this in our set of active bundles:
```html
<!--
Open MCT, Copyright (c) 2014-2016, United States Government
Open MCT, Copyright (c) 2014-2017, United States Government
as represented by the Administrator of the National Aeronautics and Space
Administration. All rights reserved.
@@ -2706,18 +2706,18 @@ define([
{
"name": "Spacecraft",
"key": "example.spacecraft",
"cssclass": "icon-object"
"cssClass": "icon-object"
},
+ {
+ "name": "Subsystem",
+ "key": "example.subsystem",
+ "cssclass": "icon-object",
+ "cssClass": "icon-object",
+ "model": { "composition": [] }
+ },
+ {
+ "name": "Measurement",
+ "key": "example.measurement",
+ "cssclass": "icon-telemetry",
+ "cssClass": "icon-telemetry",
+ "model": { "telemetry": {} },
+ "telemetry": {
+ "source": "example.source",
@@ -3031,18 +3031,18 @@ define([
{
"name": "Spacecraft",
"key": "example.spacecraft",
"cssclass": "icon-object"
"cssClass": "icon-object"
},
{
"name": "Subsystem",
"key": "example.subsystem",
"cssclass": "icon-object",
"cssClass": "icon-object",
"model": { "composition": [] }
},
{
"name": "Measurement",
"key": "example.measurement",
"cssclass": "icon-telemetry",
"cssClass": "icon-telemetry",
"model": { "telemetry": {} },
"telemetry": {
"source": "example.source",

View File

@@ -5,4 +5,4 @@ These are:
* Controllers
* Directives
* Routes
* Services
* Services

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
<!--
Open MCT, Copyright (c) 2014-2016, United States Government
Open MCT, Copyright (c) 2014-2017, United States Government
as represented by the Administrator of the National Aeronautics and Space
Administration. All rights reserved.
@@ -21,4 +21,4 @@
-->
<p>Hello, world! I am the default route.</p>
<p ng-controller="ExampleController">My controller has told me: "{{phrase}}"</p>
<span example-directive></span>
<span example-directive></span>

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -39,4 +39,4 @@ define(
return ExampleController;
}
);
);

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -63,4 +63,4 @@ define(
return ExampleDirective;
}
);
);

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -43,4 +43,4 @@ define(
return ExampleService;
}
);
);

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -47,4 +47,4 @@ define(
return SomeAggregator;
}
);
);

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -45,4 +45,4 @@ define(
return SomeDecorator;
}
);
);

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -45,4 +45,4 @@ define(
return SomeOtherDecorator;
}
);
);

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -43,4 +43,4 @@ define(
return SomeOtherExample;
}
);
);

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -45,4 +45,4 @@ define(
return SomeOtherProvider;
}
);
);

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -45,4 +45,4 @@ define(
return SomeProvider;
}
);
);

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -49,7 +49,7 @@ define([
{
"key": "eventGenerator",
"name": "Event Message Generator",
"cssclass": "icon-folder-new",
"cssClass": "icon-folder-new",
"description": "For development use. Creates sample event message data that mimics a live data stream.",
"priority": 10,
"features": "creation",

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -60,4 +60,4 @@ define(
return EventTelemetry;
}
);
);

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -118,4 +118,4 @@ define(
return EventTelemetryProvider;
}
);
);

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -36,7 +36,7 @@ define([
"name": "Export Telemetry as CSV",
"implementation": ExportTelemetryAsCSVAction,
"category": "contextual",
"cssclass": "icon-download",
"cssClass": "icon-download",
"depends": [ "exportService" ]
}
]

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -49,4 +49,4 @@ define(
return SomeExample;
}
);
);

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
<!--
Open MCT, Copyright (c) 2014-2016, United States Government
Open MCT, Copyright (c) 2014-2017, United States Government
as represented by the Administrator of the National Aeronautics and Space
Administration. All rights reserved.
@@ -39,4 +39,4 @@
{{state | json}}
</textarea>
</pre>
</div>
</div>

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -179,4 +179,4 @@ define(
return ExampleFormController;
}
);
);

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -41,6 +41,10 @@ define([
return domainObject.type === 'generator';
};
GeneratorProvider.prototype.supportsRequest =
GeneratorProvider.prototype.supportsSubscribe =
GeneratorProvider.prototype.canProvideTelemetry;
GeneratorProvider.prototype.makeWorkerRequest = function (domainObject, request) {
var props = [
'amplitude',

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -84,4 +84,4 @@ define(
return SinewaveLimitCapability;
}
);
);

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,183 +0,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.
*****************************************************************************/
/*global define*/
define([
"./src/SinewaveTelemetryProvider",
"./src/SinewaveLimitCapability",
"./src/SinewaveDeltaFormat",
'legacyRegistry'
], function (
SinewaveTelemetryProvider,
SinewaveLimitCapability,
SinewaveDeltaFormat,
legacyRegistry
) {
"use strict";
legacyRegistry.register("example/generator", {
"name": "Sine Wave Generator",
"description": "For development use. Generates example streaming telemetry data using a simple sine wave algorithm.",
"extensions": {
"components": [
{
"implementation": SinewaveTelemetryProvider,
"type": "provider",
"provides": "telemetryService",
"depends": [
"$q",
"$timeout"
]
}
],
"capabilities": [
{
"key": "limit",
"implementation": SinewaveLimitCapability
}
],
"formats": [
{
"key": "example.delta",
"implementation": SinewaveDeltaFormat
}
],
"constants": [
{
"key": "TIME_CONDUCTOR_DOMAINS",
"value": [
{
"key": "time",
"name": "Time"
},
{
"key": "yesterday",
"name": "Yesterday"
},
{
"key": "delta",
"name": "Delta",
"format": "example.delta"
}
],
"priority": -1
}
],
"types": [
{
"key": "generator",
"name": "Sine Wave Generator",
"cssclass": "icon-telemetry",
"description": "For development use. Generates example streaming telemetry data using a simple sine wave algorithm.",
"priority": 10,
"features": "creation",
"model": {
"telemetry": {
"period": 10,
"amplitude": 1,
"offset": 0,
"dataRateInHz": 1
}
},
"telemetry": {
"source": "generator",
"domains": [
{
"key": "utc",
"name": "Time"
},
{
"key": "yesterday",
"name": "Yesterday"
},
{
"key": "delta",
"name": "Delta",
"format": "example.delta"
}
],
"ranges": [
{
"key": "sin",
"name": "Sine"
},
{
"key": "cos",
"name": "Cosine"
}
]
},
"properties": [
{
"name": "Period",
"control": "textfield",
"cssclass": "l-input-sm l-numeric",
"key": "period",
"required": true,
"property": [
"telemetry",
"period"
],
"pattern": "^\\d*(\\.\\d*)?$"
},
{
"name": "Amplitude",
"control": "textfield",
"cssclass": "l-input-sm l-numeric",
"key": "amplitude",
"required": true,
"property": [
"telemetry",
"amplitude"
],
"pattern": "^\\d*(\\.\\d*)?$"
},
{
"name": "Offset",
"control": "textfield",
"cssclass": "l-input-sm l-numeric",
"key": "offset",
"required": true,
"property": [
"telemetry",
"offset"
],
"pattern": "^\\d*(\\.\\d*)?$"
},
{
"name": "Data Rate (hz)",
"control": "textfield",
"cssclass": "l-input-sm l-numeric",
"key": "dataRateInHz",
"required": true,
"property": [
"telemetry",
"dataRateInHz"
],
"pattern": "^\\d*(\\.\\d*)?$"
}
]
}
]
}
});
});

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -24,6 +24,7 @@
(function () {
var FIFTEEN_MINUTES = 15 * 60 * 1000;
var handlers = {
subscribe: onSubscribe,
@@ -51,6 +52,7 @@
function onSubscribe(message) {
var data = message.data;
// Keep
var start = Date.now();
var step = 1000 / data.dataRateInHz;
var nextStep = start - (start % step) + step;
@@ -62,7 +64,6 @@
data: {
utc: nextStep,
yesterday: nextStep - 60*60*24*1000,
delta: 60*60*24*1000,
sin: sin(nextStep, data.period, data.amplitude, data.offset),
cos: cos(nextStep, data.period, data.amplitude, data.offset)
}
@@ -82,8 +83,11 @@
function onRequest(message) {
var data = message.data;
if (!data.start || !data.end) {
throw new Error('missing start and end!');
if (data.end == undefined) {
data.end = Date.now();
}
if (data.start == undefined){
data.start = data.end - FIFTEEN_MINUTES;
}
var now = Date.now();
@@ -99,11 +103,10 @@
var data = [];
for (; nextStep < end; nextStep += step) {
for (; nextStep < end && data.length < 5000; nextStep += step) {
data.push({
utc: nextStep,
yesterday: nextStep - 60*60*24*1000,
delta: 60*60*24*1000,
sin: sin(nextStep, period, amplitude, offset),
cos: cos(nextStep, period, amplitude, offset)
});

148
example/generator/plugin.js Normal file
View File

@@ -0,0 +1,148 @@
/*****************************************************************************
* 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.
*
* 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.
*****************************************************************************/
/*global define*/
define([
"./GeneratorProvider",
"./SinewaveLimitCapability"
], function (
GeneratorProvider,
SinewaveLimitCapability
) {
var legacyExtensions = {
"capabilities": [
{
"key": "limit",
"implementation": SinewaveLimitCapability
}
]
};
return function(openmct){
//Register legacy extensions for things not yet supported by the new API
Object.keys(legacyExtensions).forEach(function (type){
var extensionsOfType = legacyExtensions[type];
extensionsOfType.forEach(function (extension) {
openmct.legacyExtension(type, extension)
})
});
openmct.types.addType("generator", {
name: "Sine Wave Generator",
description: "For development use. Generates example streaming telemetry data using a simple sine wave algorithm.",
cssClass: "icon-telemetry",
creatable: true,
form: [
{
name: "Period",
control: "textfield",
cssClass: "l-input-sm l-numeric",
key: "period",
required: true,
property: [
"telemetry",
"period"
],
pattern: "^\\d*(\\.\\d*)?$"
},
{
name: "Amplitude",
control: "textfield",
cssClass: "l-input-sm l-numeric",
key: "amplitude",
required: true,
property: [
"telemetry",
"amplitude"
],
pattern: "^\\d*(\\.\\d*)?$"
},
{
name: "Offset",
control: "textfield",
cssClass: "l-input-sm l-numeric",
key: "offset",
required: true,
property: [
"telemetry",
"offset"
],
pattern: "^\\d*(\\.\\d*)?$"
},
{
name: "Data Rate (hz)",
control: "textfield",
cssClass: "l-input-sm l-numeric",
key: "dataRateInHz",
required: true,
property: [
"telemetry",
"dataRateInHz"
],
pattern: "^\\d*(\\.\\d*)?$"
}
],
initialize: function (object) {
object.telemetry = {
period: 10,
amplitude: 1,
offset: 0,
dataRateInHz: 1,
values: [
{
key: "utc",
name: "Time",
format: "utc",
hints: {
domain: 1
}
},
{
key: "yesterday",
name: "Yesterday",
format: "utc",
hints: {
domain: 2
}
},
{
key: "sin",
name: "Sine",
hints: {
range: 1
}
},
{
key: "cos",
name: "Cosine",
hints: {
range: 2
}
}
]
};
}
});
openmct.telemetry.addProvider(new GeneratorProvider());
};
});

View File

@@ -1,68 +0,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.
*****************************************************************************/
/*global define,Promise*/
define(
['./SinewaveConstants', 'moment'],
function (SinewaveConstants, moment) {
"use strict";
var START_TIME = SinewaveConstants.START_TIME,
FORMAT_REGEX = /^-?\d+:\d+:\d+$/,
SECOND = 1000,
MINUTE = SECOND * 60,
HOUR = MINUTE * 60;
function SinewaveDeltaFormat() {
}
function twoDigit(v) {
return v >= 10 ? String(v) : ('0' + v);
}
SinewaveDeltaFormat.prototype.format = function (value) {
var delta = Math.abs(value - START_TIME),
negative = value < START_TIME,
seconds = Math.floor(delta / SECOND) % 60,
minutes = Math.floor(delta / MINUTE) % 60,
hours = Math.floor(delta / HOUR);
return (negative ? "-" : "") +
[ hours, minutes, seconds ].map(twoDigit).join(":");
};
SinewaveDeltaFormat.prototype.validate = function (text) {
return FORMAT_REGEX.test(text);
};
SinewaveDeltaFormat.prototype.parse = function (text) {
var negative = text[0] === "-",
parts = text.replace("-", "").split(":");
return [ HOUR, MINUTE, SECOND ].map(function (sz, i) {
return parseInt(parts[i], 10) * sz;
}).reduce(function (a, b) {
return a + b;
}, 0) * (negative ? -1 : 1) + START_TIME;
};
return SinewaveDeltaFormat;
}
);

View File

@@ -1,70 +0,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.
*****************************************************************************/
/*global define,Promise*/
/**
* Module defining SinewaveTelemetryProvider. Created by vwoeltje on 11/12/14.
*/
define([
"./SinewaveTelemetrySeries",
"./GeneratorProvider"
], function (
SinewaveTelemetrySeries,
GeneratorProvider
) {
function SinewaveTelemetryProvider() {
this.provider = new GeneratorProvider();
}
SinewaveTelemetryProvider.prototype.requestTelemetry = function (requests) {
if (requests[0].source !== 'generator') {
return Promise.resolve({});
}
return this.provider.request({}, requests[0])
.then(function (data) {
var res = {
generator: {}
};
res.generator[requests[0].key] = new SinewaveTelemetrySeries(data);
return res;
});
};
SinewaveTelemetryProvider.prototype.subscribe = function (callback, requests) {
if (requests[0].source !== 'generator') {
return function unsubscribe() {};
}
function wrapper(data) {
var res = {
generator: {}
};
res.generator[requests[0].key] = new SinewaveTelemetrySeries(data);
callback(res);
}
return this.provider.subscribe({}, wrapper, requests[0]);
};
return SinewaveTelemetryProvider;
});

View File

@@ -1,75 +0,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.
*****************************************************************************/
/*global define,Promise*/
/**
* Module defining SinewaveTelemetry. Created by vwoeltje on 11/12/14.
*/
define([
], function (
) {
"use strict";
function SinewaveTelemetrySeries(data) {
if (!Array.isArray(data)) {
data = [data];
}
this.data = data;
}
SinewaveTelemetrySeries.prototype.getPointCount = function () {
return this.data.length;
};
SinewaveTelemetrySeries.prototype.getDomainValue = function (
index,
domain
) {
domain = domain || 'time';
return this.getDatum(index)[domain];
};
SinewaveTelemetrySeries.prototype.getRangeValue = function (
index,
range
) {
range = range || 'sin';
return this.getDatum(index)[range];
};
SinewaveTelemetrySeries.prototype.getDatum = function (index) {
if (index > this.data.length || index < 0) {
throw new Error('IndexOutOfRange: index not available in series.');
}
return this.data[index];
};
SinewaveTelemetrySeries.prototype.getData = function () {
return this.data;
};
return SinewaveTelemetrySeries;
});

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,80 +0,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.
*****************************************************************************/
/*global define*/
define([
"./src/ImageTelemetryProvider",
'legacyRegistry'
], function (
ImageTelemetryProvider,
legacyRegistry
) {
"use strict";
legacyRegistry.register("example/imagery", {
"name": "Imagery",
"description": "Example of a component that produces image telemetry.",
"extensions": {
"components": [
{
"implementation": ImageTelemetryProvider,
"type": "provider",
"provides": "telemetryService",
"depends": [
"$q",
"$timeout"
]
}
],
"types": [
{
"key": "imagery",
"name": "Example Imagery",
"cssclass": "icon-image",
"features": "creation",
"description": "For development use. Creates example imagery data that mimics a live imagery stream.",
"priority": 10,
"model": {
"telemetry": {}
},
"telemetry": {
"source": "imagery",
"domains": [
{
"name": "Time",
"key": "time",
"format": "utc"
}
],
"ranges": [
{
"name": "Image",
"key": "url",
"format": "imageUrl"
}
]
}
}
]
}
});
});

140
example/imagery/plugin.js Normal file
View File

@@ -0,0 +1,140 @@
/*****************************************************************************
* 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.
*
* 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.
*****************************************************************************/
define([
], function(
) {
function ImageryPlugin() {
var IMAGE_SAMPLES = [
"https://www.hq.nasa.gov/alsj/a16/AS16-117-18731.jpg",
"https://www.hq.nasa.gov/alsj/a16/AS16-117-18732.jpg",
"https://www.hq.nasa.gov/alsj/a16/AS16-117-18733.jpg",
"https://www.hq.nasa.gov/alsj/a16/AS16-117-18734.jpg",
"https://www.hq.nasa.gov/alsj/a16/AS16-117-18735.jpg",
"https://www.hq.nasa.gov/alsj/a16/AS16-117-18736.jpg",
"https://www.hq.nasa.gov/alsj/a16/AS16-117-18737.jpg",
"https://www.hq.nasa.gov/alsj/a16/AS16-117-18738.jpg",
"https://www.hq.nasa.gov/alsj/a16/AS16-117-18739.jpg",
"https://www.hq.nasa.gov/alsj/a16/AS16-117-18740.jpg",
"https://www.hq.nasa.gov/alsj/a16/AS16-117-18741.jpg",
"https://www.hq.nasa.gov/alsj/a16/AS16-117-18742.jpg",
"https://www.hq.nasa.gov/alsj/a16/AS16-117-18743.jpg",
"https://www.hq.nasa.gov/alsj/a16/AS16-117-18744.jpg",
"https://www.hq.nasa.gov/alsj/a16/AS16-117-18745.jpg",
"https://www.hq.nasa.gov/alsj/a16/AS16-117-18746.jpg",
"https://www.hq.nasa.gov/alsj/a16/AS16-117-18747.jpg",
"https://www.hq.nasa.gov/alsj/a16/AS16-117-18748.jpg"
];
function pointForTimestamp(timestamp) {
return {
utc: Math.floor(timestamp / 5000) * 5000,
url: IMAGE_SAMPLES[Math.floor(timestamp / 5000) % IMAGE_SAMPLES.length]
};
}
var realtimeProvider = {
supportsSubscribe: function (domainObject) {
return domainObject.type === 'example.imagery';
},
subscribe: function (domainObject, callback) {
var interval = setInterval(function () {
callback(pointForTimestamp(Date.now()));
}, 5000);
return function (interval) {
clearInterval(interval);
};
}
};
var historicalProvider = {
supportsRequest: function (domainObject, options) {
return domainObject.type === 'example.imagery'
&& options.strategy !== 'latest';
},
request: function (domainObject, options) {
var start = options.start;
var end = options.end;
var data = [];
while (start < end && data.length < 5000) {
data.push(pointForTimestamp(start));
start += 5000;
}
return Promise.resolve(data);
}
};
var ladProvider = {
supportsRequest: function (domainObject, options) {
return domainObject.type === 'example.imagery' &&
options.strategy === 'latest';
},
request: function (domainObject, options) {
return Promise.resolve([pointForTimestamp(Date.now())]);
}
};
return function install(openmct) {
openmct.types.addType('example.imagery', {
key: 'example.imagery',
name: 'Example Imagery',
cssClass: 'icon-image',
description: 'For development use. Creates example imagery ' +
'data that mimics a live imagery stream.',
creatable: true,
initialize: function (object) {
object.telemetry = {
values: [
{
name: 'Time',
key: 'utc',
format: 'utc',
hints: {
domain: 1
}
},
{
name: 'Image',
key: 'url',
format: 'image',
hints: {
image: 1
}
}
]
}
}
});
openmct.telemetry.addProvider(realtimeProvider);
openmct.telemetry.addProvider(historicalProvider);
openmct.telemetry.addProvider(ladProvider);
};
}
return ImageryPlugin;
});

View File

@@ -1,66 +0,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.
*****************************************************************************/
/*global define,Promise*/
/**
* Module defining ImageTelemetry. Created by vwoeltje on 06/22/15.
*/
define(
[],
function () {
"use strict";
var firstObservedTime = Date.now(),
images = [
"http://www.nasa.gov/393811main_Palomar_ao_bouchez_10s_after_impact_4x3_946-710.png",
"http://www.nasa.gov/393821main_Palomar_ao_bouchez_15s_after_impact_4x3_946-710.png",
"http://www.nasa.gov/images/content/393801main_CfhtVeillet2_4x3_516-387.jpg",
"http://www.nasa.gov/images/content/392790main_1024_768_GeminiNorth_NightBeforeImpact_946-710.jpg"
].map(function (url, index) {
return {
timestamp: firstObservedTime + 1000 * index,
url: url
};
});
/**
*
* @constructor
*/
function ImageTelemetry() {
return {
getPointCount: function () {
return Math.floor((Date.now() - firstObservedTime) / 1000);
},
getDomainValue: function (i, domain) {
return images[i % images.length].timestamp;
},
getRangeValue: function (i, range) {
return images[i % images.length].url;
}
};
}
return ImageTelemetry;
}
);

View File

@@ -1,115 +0,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.
*****************************************************************************/
/*global define,Promise*/
/**
* Module defining ImageTelemetryProvider. Created by vwoeltje on 06/22/15.
*/
define(
["./ImageTelemetry"],
function (ImageTelemetry) {
"use strict";
/**
*
* @constructor
*/
function ImageTelemetryProvider($q, $timeout) {
var subscriptions = [];
//
function matchesSource(request) {
return request.source === "imagery";
}
// Used internally; this will be repacked by doPackage
function generateData(request) {
return {
key: request.key,
telemetry: new ImageTelemetry()
};
}
//
function doPackage(results) {
var packaged = {};
results.forEach(function (result) {
packaged[result.key] = result.telemetry;
});
// Format as expected (sources -> keys -> telemetry)
return { imagery: packaged };
}
function requestTelemetry(requests) {
return $timeout(function () {
return doPackage(requests.filter(matchesSource).map(generateData));
}, 0);
}
function handleSubscriptions() {
subscriptions.forEach(function (subscription) {
var requests = subscription.requests;
subscription.callback(doPackage(
requests.filter(matchesSource).map(generateData)
));
});
}
function startGenerating() {
$timeout(function () {
handleSubscriptions();
if (subscriptions.length > 0) {
startGenerating();
}
}, 1000);
}
function subscribe(callback, requests) {
var subscription = {
callback: callback,
requests: requests
};
function unsubscribe() {
subscriptions = subscriptions.filter(function (s) {
return s !== subscription;
});
}
subscriptions.push(subscription);
if (subscriptions.length === 1) {
startGenerating();
}
return unsubscribe;
}
return {
requestTelemetry: requestTelemetry,
subscribe: subscribe
};
}
return ImageTelemetryProvider;
}
);

View File

@@ -1,79 +0,0 @@
/*****************************************************************************
* Open MCT Web, Copyright (c) 2014-2015, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
* Open MCT Web is licensed under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0.
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*
* Open MCT Web includes source code licensed under additional open source
* licenses. 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.
*****************************************************************************/
define([
'../../../platform/features/conductor/core/src/timeSystems/TimeSystem',
'../../../platform/features/conductor/core/src/timeSystems/LocalClock',
'./LADTickSource'
], function (TimeSystem, LocalClock, LADTickSource) {
var THIRTY_MINUTES = 30 * 60 * 1000,
DEFAULT_PERIOD = 1000;
/**
* This time system supports UTC dates and provides a ticking clock source.
* @implements TimeSystem
* @constructor
*/
function LocalTimeSystem ($timeout) {
TimeSystem.call(this);
/**
* Some metadata, which will be used to identify the time system in
* the UI
* @type {{key: string, name: string, glyph: string}}
*/
this.metadata = {
'key': 'local',
'name': 'Local',
'glyph': '\u0043'
};
this.fmts = ['local-format'];
this.sources = [new LocalClock($timeout, DEFAULT_PERIOD), new LADTickSource($timeout, DEFAULT_PERIOD)];
}
LocalTimeSystem.prototype = Object.create(TimeSystem.prototype);
LocalTimeSystem.prototype.formats = function () {
return this.fmts;
};
LocalTimeSystem.prototype.deltaFormat = function () {
return 'duration';
};
LocalTimeSystem.prototype.tickSources = function () {
return this.sources;
};
LocalTimeSystem.prototype.defaults = function (key) {
var now = Math.ceil(Date.now() / 1000) * 1000;
return {
key: 'local-default',
name: 'Local 12 hour time system defaults',
deltas: {start: THIRTY_MINUTES, end: 0},
bounds: {start: now - THIRTY_MINUTES, end: now}
};
};
return LocalTimeSystem;
});

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -41,18 +41,18 @@ define([
{
"name":"Mars Science Laboratory",
"key": "msl.curiosity",
"cssclass": "icon-object"
"cssClass": "icon-object"
},
{
"name": "Instrument",
"key": "msl.instrument",
"cssclass": "icon-object",
"cssClass": "icon-object",
"model": {"composition": []}
},
{
"name": "Measurement",
"key": "msl.measurement",
"cssclass": "icon-telemetry",
"cssClass": "icon-telemetry",
"model": {"telemetry": {}},
"telemetry": {
"source": "rems.source",
@@ -92,7 +92,7 @@ define([
{
"key":"rems.adapter",
"implementation": RemsTelemetryServerAdapter,
"depends": ["$q", "$http", "$log", "REMS_WS_URL"]
"depends": ["$http", "$log", "REMS_WS_URL"]
}
],
"components": [

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -44,31 +44,31 @@ define(
{
"name": "Min. Air Temperature",
"identifier": "min_temp",
"units": "degrees",
"units": "Degrees (C)",
"type": "float"
},
{
"name": "Max. Air Temperature",
"identifier": "max_temp",
"units": "degrees",
"units": "Degrees (C)",
"type": "float"
},
{
"name": "Atmospheric Pressure",
"identifier": "pressure",
"units": "pascals",
"units": "Millibars",
"type": "float"
},
{
"name": "Min. Ground Temperature",
"identifier": "min_gts_temp",
"units": "degrees",
"units": "Degrees (C)",
"type": "float"
},
{
"name": "Max. Ground Temperature",
"identifier": "max_gts_temp",
"units": "degrees",
"units": "Degrees (C)",
"type": "float"
}
]
@@ -76,4 +76,4 @@ define(
]
};
}
);
);

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -42,14 +42,19 @@ define(
* @param REMS_WS_URL The location of the REMS telemetry data.
* @constructor
*/
function RemsTelemetryServerAdapter($q, $http, $log, REMS_WS_URL) {
function RemsTelemetryServerAdapter($http, $log, REMS_WS_URL) {
this.localDataURI = module.uri.substring(0, module.uri.lastIndexOf('/') + 1) + LOCAL_DATA;
this.deferreds = {};
this.REMS_WS_URL = REMS_WS_URL;
this.$q = $q;
this.$http = $http;
this.$log = $log;
this.cache = undefined;
this.promise = undefined;
this.dataTransforms = {
//Convert from pascals to millibars
'pressure': function pascalsToMillibars(pascals) {
return pascals / 100;
}
};
}
/**
@@ -65,15 +70,12 @@ define(
*/
RemsTelemetryServerAdapter.prototype.requestHistory = function(request) {
var self = this,
id = request.key,
deferred = this.$q.defer();
id = request.key;
var dataTransforms = this.dataTransforms;
function processResponse(response){
var data = [];
/*
* Currently all data is returned for entire history of the mission. Cache response to avoid unnecessary re-queries.
*/
self.cache = response;
/*
* History data is organised by Sol. Iterate over sols...
*/
@@ -82,13 +84,14 @@ define(
* Check that valid data exists
*/
if (!isNaN(solData[id])) {
var dataTransform = dataTransforms[id];
/*
* Append each data point to the array of values
* for this data point property (min. temp, etc).
*/
data.unshift({
date: Date.parse(solData[TERRESTRIAL_DATE]),
value: solData[id]
value: dataTransform ? dataTransform(solData[id]) : solData[id]
});
}
});
@@ -110,17 +113,15 @@ define(
}
function packageAndResolve(results){
deferred.resolve({id: id, values: results});
return {id: id, values: results};
}
this.$q.when(this.cache || this.$http.get(this.REMS_WS_URL))
return (this.promise = this.promise || this.$http.get(this.REMS_WS_URL))
.catch(fallbackToLocal)
.then(processResponse)
.then(filterResults)
.then(packageAndResolve);
return deferred.promise;
};
/**
@@ -132,7 +133,6 @@ define(
* @returns {Promise | Array<RemsTelemetryValue>} that resolves with an Array of {@link RemsTelemetryValue} objects for the request data key.
*/
RemsTelemetryServerAdapter.prototype.history = function(request) {
var id = request.key;
return this.requestHistory(request);
};

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -6,4 +6,4 @@
<a ng-click="launchError()">Error</a> |
<a ng-click="launchInfo()">Info</a>
</span><span class="count"></span>
</span>
</span>

View File

@@ -6,4 +6,4 @@
<a ng-click="newAlert()">Alert</a> |
<a ng-click="newProgress()">Progress</a>
</span><span class="count"></span>
</span>
</span>

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -100,4 +100,4 @@ define(
return BrowserPersistenceProvider;
}
);
);

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -81,7 +81,7 @@ define([
{
"key": "plot",
"name": "Example Telemetry Plot",
"cssclass": "icon-telemetry-panel",
"cssClass": "icon-telemetry-panel",
"description": "For development use. A plot for displaying telemetry.",
"priority": 10,
"delegates": [
@@ -129,7 +129,7 @@ define([
{
"name": "Period",
"control": "textfield",
"cssclass": "l-input-sm l-numeric",
"cssClass": "l-input-sm l-numeric",
"key": "period",
"required": true,
"property": [

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -44,4 +44,4 @@ define(
return ExamplePolicy;
}
);
);

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -63,7 +63,7 @@ define(
* Get the CSS class that defines the icon
* to display in this indicator. This will appear
* as a dataflow icon.
* @returns {string} the cssclass of the dataflow icon
* @returns {string} the cssClass of the dataflow icon
*/
getCssClass: function () {
return "icon-connectivity";

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -84,4 +84,4 @@ define(
return WatchIndicator;
}
);
);

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -0,0 +1,98 @@
define([
"./src/ExampleStyleGuideModelProvider",
"./src/MCTExample",
'legacyRegistry'
], function (
ExampleStyleGuideModelProvider,
MCTExample,
legacyRegistry
) {
legacyRegistry.register("example/styleguide", {
"name": "Open MCT Style Guide",
"description": "Examples and documentation illustrating UI styles in use in Open MCT.",
"extensions":
{
"types": [
{ "key": "styleguide.intro", "name": "Introduction", "cssClass": "icon-page", "description": "Introduction and overview to the style guide" },
{ "key": "styleguide.standards", "name": "Standards", "cssClass": "icon-page", "description": "" },
{ "key": "styleguide.colors", "name": "Colors", "cssClass": "icon-page", "description": "" },
{ "key": "styleguide.glyphs", "name": "Glyphs", "cssClass": "icon-page", "description": "Glyphs overview" },
{ "key": "styleguide.controls", "name": "Controls", "cssClass": "icon-page", "description": "Buttons, selects, HTML controls" },
{ "key": "styleguide.input", "name": "Text Inputs", "cssClass": "icon-page", "description": "Various text inputs" },
{ "key": "styleguide.menus", "name": "Menus", "cssClass": "icon-page", "description": "Context menus, dropdowns" }
],
"views": [
{ "key": "styleguide.intro", "type": "styleguide.intro", "templateUrl": "templates/intro.html", "editable": false },
{ "key": "styleguide.standards", "type": "styleguide.standards", "templateUrl": "templates/standards.html", "editable": false },
{ "key": "styleguide.colors", "type": "styleguide.colors", "templateUrl": "templates/colors.html", "editable": false },
{ "key": "styleguide.glyphs", "type": "styleguide.glyphs", "templateUrl": "templates/glyphs.html", "editable": false },
{ "key": "styleguide.controls", "type": "styleguide.controls", "templateUrl": "templates/controls.html", "editable": false },
{ "key": "styleguide.input", "type": "styleguide.input", "templateUrl": "templates/input.html", "editable": false },
{ "key": "styleguide.menus", "type": "styleguide.menus", "templateUrl": "templates/menus.html", "editable": false }
],
"roots": [
{
"id": "styleguide:home"
}
],
"models": [
{
"id": "styleguide:home",
"priority" : "preferred",
"model": {
"type": "folder",
"name": "Style Guide Home",
"location": "ROOT",
"composition": [
"intro",
"standards",
"colors",
"glyphs",
"styleguide:ui-elements"
]
}
},
{
"id": "styleguide:ui-elements",
"priority" : "preferred",
"model": {
"type": "folder",
"name": "UI Elements",
"location": "styleguide:home",
"composition": [
"controls",
"input",
"menus"
]
}
}
],
"directives": [
{
"key": "mctExample",
"implementation": MCTExample
}
],
"components": [
{
"provides": "modelService",
"type": "provider",
"implementation": ExampleStyleGuideModelProvider,
"depends": [
"$q"
]
}
],
"stylesheets": [
{
"stylesheetUrl": "css/style-guide-espresso.css",
"theme": "espresso"
},
{
"stylesheetUrl": "css/style-guide-snow.css",
"theme": "snow"
}
]
}
});
});

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 10 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 800 622.47"><defs><style>.a,.d{fill:#fff;}.b,.c,.k,.m,.n,.o{fill:none;}.b{stroke:#000;stroke-linecap:square;}.b,.c,.d,.f,.k,.m,.n,.o{stroke-miterlimit:10;}.b,.k{stroke-width:2px;}.c{stroke:#ababab;stroke-dasharray:5;}.d,.k,.o{stroke:#737373;}.e{opacity:0.5;fill:url(#a);}.f{fill:#d6d6d6;fill-opacity:0.8;stroke:#fff;}.g{mask:url(#b);}.h{fill:#a8a8a8;}.i{fill:#00b1e2;}.j{fill:#f16e86;}.k{stroke-linecap:round;}.l{mask:url(#c);}.m{stroke:#00b1e2;}.m,.n{stroke-width:10px;}.n{stroke:#f16e86;}</style><linearGradient id="a" x1="523.15" y1="-401.02" x2="513.75" y2="-437.16" gradientTransform="translate(90.62 338.26) rotate(45)" gradientUnits="userSpaceOnUse"><stop offset="0"/><stop offset="1" stop-opacity="0"/></linearGradient><mask id="b" x="-1187.45" y="-269.68" width="1813.84" height="554.26" maskUnits="userSpaceOnUse"><polygon class="a" points="625.33 284.58 452.55 238.2 452.55 170.5 625.33 216.88 625.33 284.58"/><line class="b" x1="486.25" y1="179.55" x2="486.25" y2="247.32"/><line class="b" x1="573.58" y1="202.99" x2="573.58" y2="270.76"/><line class="b" x1="452.46" y1="192.89" x2="625.16" y2="239.25"/><line class="b" x1="452.46" y1="215.48" x2="625.16" y2="261.83"/></mask><mask id="c" x="-1468.9" y="-163.59" width="1866.4" height="673.87" maskUnits="userSpaceOnUse"><polygon class="a" points="344.11 510.28 171.1 462.49 171.1 289.49 344.11 337.28 344.11 510.28"/></mask></defs><title>objects-diagram</title><polyline class="c" points="460.63 153.71 480.14 142.45 513.15 123.39"/><polyline class="c" points="312.69 239.13 336.82 225.2 365.42 208.68"/><polygon class="d" points="742.15 65.53 519.88 5.97 519.88 368.97 742.15 428.53 742.15 65.53"/><polygon class="e" points="742.15 428.53 742.15 377.47 786.44 403 742.15 428.53"/><polyline class="c" points="619.05 308.21 626.95 303.65 636.44 298.17"/><polygon class="f" points="637.26 156.11 443.71 104.25 443.71 402.92 637.26 454.78 637.26 156.11"/><g class="g"><polygon class="h" points="625.33 239.44 452.55 193.07 452.55 170.5 625.33 216.88 625.33 239.44"/><polygon class="i" points="625.33 262.01 452.55 215.64 452.55 193.07 625.33 239.44 625.33 262.01"/><polygon class="j" points="625.33 284.58 452.55 238.2 452.55 215.64 625.33 262.01 625.33 284.58"/></g><polyline class="c" points="467.58 395.66 481.45 387.65 490.54 382.4"/><polygon class="f" points="490.33 240.94 296.78 189.08 296.78 487.75 490.33 539.62 490.33 240.94"/><polygon class="h" points="386.94 387.36 314 367.78 314 238.33 386.94 257.91 386.94 387.36"/><line class="k" x1="402.02" y1="280.97" x2="355.33" y2="284.32"/><line class="k" x1="401.71" y1="316.74" x2="355.33" y2="291.74"/><polygon class="i" points="473.63 301.9 400.69 282.32 400.69 261.6 473.63 281.18 473.63 301.9"/><polygon class="j" points="473.63 337.63 400.69 318.05 400.69 297.32 473.63 316.9 473.63 337.63"/><polyline class="c" points="331.67 474.13 343.85 467.1 356.86 459.58"/><polyline class="c" points="183.35 313.8 207.44 299.89 231.58 285.96"/><polygon class="c" points="710.61 148.05 546.55 104.09 546.55 144.26 710.61 188.22 710.61 148.05"/><polygon class="c" points="710.61 215.05 546.55 171.09 546.55 211.26 710.61 255.22 710.61 215.05"/><line class="c" x1="162.68" y1="266.5" x2="533" y2="52.7"/><line class="c" x1="356.23" y1="617.04" x2="726.54" y2="403.24"/><polygon class="f" points="356.23 318.36 162.68 266.5 162.68 565.18 356.23 617.04 356.23 318.36"/><g class="l"><path class="m" d="M165.1,350.83c12-19.68,24-57.37,47,7s29,42,46,35.71,27,34.46,50,51.81,75,16.72,89,15.59"/><path class="n" d="M349.1,427.78c-9.13-13.05-13.7-31.26-31.2-9.54s-22.07,9.47-35,.86-20.55,6.69-38.05,6.89-67.08-25.38-77.73-30.61"/></g><polygon class="i" points="211.4 436.27 47.34 392.31 47.34 432.48 211.4 476.44 211.4 436.27"/><polygon class="o" points="211.4 436.27 47.34 392.31 47.34 432.48 211.4 476.44 211.4 436.27"/><polygon class="j" points="211.4 503.27 47.34 459.31 47.34 499.48 211.4 543.44 211.4 503.27"/><polygon class="o" points="211.4 503.27 47.34 459.31 47.34 499.48 211.4 543.44 211.4 503.27"/><line class="c" x1="513.15" y1="123.39" x2="544.97" y2="105.02"/><line class="c" x1="365.42" y1="208.68" x2="460.63" y2="153.71"/><line class="c" x1="231.58" y1="285.96" x2="312.69" y2="239.13"/><line class="c" x1="48.79" y1="391.49" x2="183.35" y2="313.8"/><line class="c" x1="636.44" y1="298.17" x2="709.92" y2="255.75"/><line class="c" x1="490.54" y1="382.4" x2="619.05" y2="308.21"/><line class="c" x1="356.86" y1="459.58" x2="467.58" y2="395.66"/><line class="c" x1="212.34" y1="543.03" x2="331.67" y2="474.13"/></svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -0,0 +1,201 @@
/*****************************************************************************
* 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.
*****************************************************************************/
.l-style-guide {
font-size: 0.9em;
text-align: justify;
margin: auto 10%;
a.link {
color: $colorKey;
}
h1, h2 {
color: pullForward($colorBodyFg, 20%);
}
h2 {
font-size: 1.25em;
}
h3 {
font-size: 0.9em;
margin: $interiorMargin 0;
&:not(:first-child) {
margin-top: $interiorMarginLg * 2;
}
text-transform: uppercase;
}
.w-markup {
//Wrap markup example "pre" element
background-color: $colorCode;
border-radius: $interiorMargin;
display: block;
padding: $interiorMarginLg $interiorMarginLg;
position: relative;
}
code,
pre {
font-size: 0.8rem;
}
code {
background-color: $colorCode;
border-radius: $controlCr;
display: inline-block;
padding: 1px $interiorMargin;
}
pre {
display: block;
margin: 0;
max-height: 300px;
overflow: auto;
padding-bottom: $interiorMarginLg;
white-space: pre;
}
table, ul {
margin-bottom: $interiorMarginLg;
width: auto;
}
.themed {
display: none; // Each themed styleguide file will set this to block.
}
.doc-title {
color: rgba(#fff, 0.3);
text-transform: uppercase;
}
.l-section {
border-top: 1px solid rgba(#999, 0.3);
margin-top: 2em;
padding-top: 1em;
.cols {
@include display(flex);
@include flex-direction(row);
.col {
@include flex(1 1 auto);
&:not(:last-child) {
$v: $interiorMargin * 4;
border-right: 1px solid $colorInteriorBorder;
margin-right: $v;
padding-right: $v;
}
min-width: 300px;
img {
width: 100%;
}
}
&.cols1-1 {
// 2 cols, equal width
.col {
width: 50%;
}
}
&.cols1-2 {
// 3 cols, first is 1/3 of the width
.col:first-child {
width: 33%;
}
.col:last-child {
width: 66%;
}
}
&.cols2-1 {
// 3 cols, first is 2/3 of the width
.col:first-child {
width: 66%;
}
.col:last-child {
width: 33%;
}
}
}
}
// Example grid of glyphs
.items-holder.grid {
table.details {
width: 100%;
td {
font-size: inherit;
&.label {
color: pushBack($colorBodyFg, 10%);
text-transform: uppercase;
white-space: nowrap;
}
}
}
.item.glyph-item,
.item.swatch-item {
margin-bottom: 50px;
margin-right: 10px;
position: relative;
text-align: left;
.glyph {
color: $colorGlyphExample;
font-size: 5em;
margin: $interiorMarginLg 0;
text-align: center;
}
}
.item.glyph-item {
width: 225px;
height: 200px;
}
.item.swatch-item {
$h: 150px;
$d: 75px;
width: 200px;
height: $h;
.glyph {
text-shadow: 0px 1px 10px rgba(black, 0.3);
}
.h-swatch {
position: relative;
height: $d + $interiorMarginLg;
}
.swatch {
height: $d; width: $d;
border: 1px solid $colorInteriorBorder;
border-radius: 15%;
position: absolute;
left: 50%;
@include transform(translateX(-50%));
}
}
}
}

View File

@@ -0,0 +1,37 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2015, 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.
*****************************************************************************/
@import "bourbon";
@import "../../../../platform/commonUI/general/res/sass/constants";
@import "../../../../platform/commonUI/general/res/sass/mixins";
@import "../../../../platform/commonUI/themes/espresso/res/sass/constants";
@import "../../../../platform/commonUI/themes/espresso/res/sass/mixins";
@import "../../../../platform/commonUI/general/res/sass/glyphs";
@import "../../../../platform/commonUI/general/res/sass/icons";
// Thematic constants
$colorCode: rgba(black, 0.2);
$colorGlyphExample: #fff;
@import "style-guide-base";
div.themed.espresso { display: block; }
span.themed.espresso { display: inline; }

View File

@@ -0,0 +1,37 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2015, 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.
*****************************************************************************/
@import "bourbon";
@import "../../../../platform/commonUI/general/res/sass/constants";
@import "../../../../platform/commonUI/general/res/sass/mixins";
@import "../../../../platform/commonUI/themes/snow/res/sass/constants";
@import "../../../../platform/commonUI/themes/snow/res/sass/mixins";
@import "../../../../platform/commonUI/general/res/sass/glyphs";
@import "../../../../platform/commonUI/general/res/sass/icons";
// Thematic constants
$colorCode: rgba(black, 0.1);
$colorGlyphExample: darken($colorBodyBg, 30%);
@import "style-guide-base";
div.themed.snow { display: block; }
span.themed.snow { display: inline; }

View File

@@ -0,0 +1,84 @@
<!--
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.
-->
<div ng-init="colors = [
{ 'category': 'Interface', 'description': 'Colors used in the application envelope, buttons and controls.', 'items': [{ 'name': 'Body Background', 'constant': '$colorBodyBg', 'valEspresso': '#333', 'valSnow': '#fcfcfc' },
{ 'name': 'Body Foreground', 'constant': '$colorBodyFg', 'valEspresso': '#999', 'valSnow': '#666' },
{ 'name': 'Key Color Background', 'constant': '$colorKey', 'valEspresso': '#0099cc', 'valSnow': '#0099cc' },
{ 'name': 'Key Color Foreground', 'constant': '$colorKeyFg', 'valEspresso': '#fff', 'valSnow': '#fff' },
{ 'name': 'Paused Color Background', 'constant': '$colorPausedBg', 'valEspresso': '#c56f01', 'valSnow': '#ff9900' },
{ 'name': 'Paused Color Foreground', 'constant': '$colorPausedFg', 'valEspresso': '#fff', 'valSnow': '#fff' }]},
{ 'category': 'Forms', 'description': 'Colors in forms, mainly to articulate validation status.', 'items': [{ 'name': 'Valid Entry', 'constant': '$colorFormValid', 'valEspresso': '#33cc33', 'valSnow': '#33cc33' },
{ 'name': 'Errorenous Entry', 'constant': '$colorFormError', 'valEspresso': '#990000', 'valSnow': '#990000' },
{ 'name': 'Invalid Entry', 'constant': '$colorFormInvalid', 'valEspresso': '#ff3300', 'valSnow': '#ff2200' }]},
{ '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' },
{ 'name': 'Status Color Foreground', 'constant': '$colorStatusFg', 'valEspresso': '#ccc', 'valSnow': '#fff' },
{ 'name': 'Default Status Color', 'constant': '$colorStatusDefault', 'valEspresso': '#ccc', 'valSnow': '#ccc' },
{ 'name': 'Status: Informational Color', 'constant': '$colorStatusInfo', 'valEspresso': '#62ba72', 'valSnow': '#60ba7b' },
{ 'name': 'Status: Alert Color', 'constant': '$colorStatusAlert', 'valEspresso': '#ffa66d', 'valSnow': '#ffb66c' },
{ 'name': 'Status: Error Color', 'constant': '$colorStatusError', 'valEspresso': '#d4585c', 'valSnow': '#c96b68' }]},
{ '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)' },
{ 'name': 'Yellow Limit Color Icon', 'constant': '$colorLimitYellowIc', 'valEspresso': '#ffaa00', 'valSnow': '#ffaa00' },
{ 'name': 'Red Limit Color Background', 'constant': '$colorLimitRedBg', 'valEspresso': 'rgba(255,0,0,0.3)', 'valSnow': 'rgba(255,0,0,0.3)' },
{ 'name': 'Red Limit Color Icon', 'constant': '$colorLimitRedIc', 'valEspresso': 'red', 'valSnow': 'red' }]}
]"></div>
<div class="l-style-guide s-text">
<p class="doc-title">Open MCT Style Guide</p>
<h1>Colors</h1>
<div class="l-section">
<h2>Overview</h2>
<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.
<span class="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>
<span class="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>
<div class="l-section" ng-repeat="colorSet in colors">
<h2>{{ colorSet.category }}</h2>
<p>{{ colorSet.description }}</p>
<div class="items-holder grid">
<div class="item swatch-item" ng-repeat="color in colorSet.items">
<div class="h-swatch">
<div class="swatch themed espresso" style="background-color: {{ color.valEspresso }}"></div>
<div class="swatch themed snow" style="background-color: {{ color.valSnow }}"></div>
</div>
<table class="details">
<tr><td class="label">Name</td><td class="value">{{color.name}}</td></tr>
<tr><td class="label">SASS</td><td class="value">{{color.constant}}</td></tr>
<tr><td class="label">Value</td><td class="value">
<span class="themed espresso">{{color.valEspresso}}</span>
<span class="themed snow">{{color.valSnow}}</span>
</td></tr>
</table>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,163 @@
<!--
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.
-->
<div class="l-style-guide s-text">
<p class="doc-title">Open MCT Style Guide</p>
<h1>Controls</h1>
<div class="l-section">
<h2>Standard Buttons</h2>
<div class="cols cols1-1">
<div class="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>
</div>
<mct-example><a class="s-button icon-pencil" title="Edit"></a>
<a class="s-button" title="Edit">Edit</a>
<a class="s-button icon-pencil" title="Edit">
<span class="title-label">Edit</span>
</a>
</mct-example>
</div>
</div>
<div class="l-section">
<h2>&quot;Major&quot; Buttons</h2>
<div class="cols cols1-1">
<div class="col">
<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><a class="s-button major">Ok</a>
<a class="s-button">Cancel</a>
</mct-example>
</div>
</div>
<div class="l-section">
<h2>Button Sets</h2>
<div class="cols cols1-1">
<div class="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><span class="l-btn-set">
<a class="s-button icon-magnify"></a>
<a class="s-button icon-magnify-in"></a>
<a class="s-button icon-magnify-out"></a>
</span>
</mct-example>
</div>
</div>
<div class="l-section">
<h2>Icon-only Buttons</h2>
<div class="cols cols1-1">
<div class="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 &quot;base&quot; 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>
</div>
<mct-example><a class="s-icon-button icon-pencil" title="Edit"></a>
</mct-example>
</div>
</div>
<div class="l-section">
<h2>Checkboxes</h2>
<div class="cols cols1-1">
<div class="col">
<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>
</div>
<mct-example><label class="checkbox custom no-text">
<input type="checkbox" />
<em></em>
</label>
<br />
<label class="checkbox custom no-text">
<input type="checkbox" checked />
<em></em>
</label>
<br />
<label class="checkbox custom">Labeled checkbox
<input type="checkbox" />
<em></em>
</label></mct-example>
</div>
</div>
<div class="l-section">
<h2>Radio Buttons</h2>
<div class="cols cols1-1">
<div class="col">
<p>Radio buttons use the same technique as checkboxes above.</p>
</div>
<mct-example><label class="radio custom">Red
<input name="Alarm Status" type="radio" />
<em></em>
</label>
<br />
<label class="radio custom">Orange
<input name="Alarm Status" type="radio" checked />
<em></em>
</label>
<br />
<label class="radio custom">Yellow
<input name="Alarm Status" type="radio" />
<em></em>
</label>
</mct-example>
</div>
</div>
<div class="l-section">
<h2>Selects</h2>
<div class="cols cols1-1">
<div class="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><div class="select">
<select>
<option value="" selected="selected">- Select One -</option>
<option value="Colussus">Colussus</option>
<option value="HAL 9000">HAL 9000</option>
<option value="Mother">Mother</option>
<option value="Skynet">Skynet</option>
</select>
</div>
</mct-example>
</div>
</div>
<div class="l-section">
<h2>Local Controls</h2>
<div class="cols cols1-1">
<div class="col">
<p>Local controls are typically buttons and selects that provide local control to an individual element. Typically, these controls are hidden in order to not block data display until the user hovers their cursor over an element, when the controls are displayed using a transition fade. Mousing out of the element fades the controls from view.</p>
</div>
<mct-example><div class="plot-display-area" style="height: 100px; padding: 10px; position: relative;">Hover over me
<div class="l-local-controls gl-plot-local-controls t-plot-display-controls">
<a class="s-button icon-arrow-left" title="Restore previous pan/zoom"></a>
<a class="s-button icon-arrows-out" title="Reset pan/zoom"></a>
</div>
</div></mct-example>
</div>
</div>
</div>

View File

@@ -0,0 +1,215 @@
<!--
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.
-->
<div ng-init="general= [{ 'meaning': 'Pay attention', 'cssClass': 'icon-alert-rect', 'cssContent': 'e900', 'htmlEntity': '&amp;#xe900' },
{ 'meaning': 'Warning', 'cssClass': 'icon-alert-triangle', 'cssContent': 'e901', 'htmlEntity': '&amp;#xe901' },
{ 'meaning': 'Invoke menu', 'cssClass': 'icon-arrow-down', 'cssContent': 'e902', 'htmlEntity': '&amp;#xe902' },
{ 'meaning': 'General usage arrow pointing left', 'cssClass': 'icon-arrow-left', 'cssContent': 'e903', 'htmlEntity': '&amp;#xe903' },
{ 'meaning': 'General usage arrow pointing right', 'cssClass': 'icon-arrow-right', 'cssContent': 'e904', 'htmlEntity': '&amp;#xe904' },
{ 'meaning': 'Upper limit, red', 'cssClass': 'icon-arrow-double-up', 'cssContent': 'e905', 'htmlEntity': '&amp;#xe905' },
{ 'meaning': 'Upper limit, yellow', 'cssClass': 'icon-arrow-tall-up', 'cssContent': 'e906', 'htmlEntity': '&amp;#xe906' },
{ 'meaning': 'Lower limit, yellow', 'cssClass': 'icon-arrow-tall-down', 'cssContent': 'e907', 'htmlEntity': '&amp;#xe907' },
{ 'meaning': 'Lower limit, red', 'cssClass': 'icon-arrow-double-down', 'cssContent': 'e908', 'htmlEntity': '&amp;#xe908' },
{ 'meaning': 'General usage arrow pointing up', 'cssClass': 'icon-arrow-up', 'cssContent': 'e909', 'htmlEntity': '&amp;#xe909' },
{ 'meaning': 'Required form element', 'cssClass': 'icon-asterisk', 'cssContent': 'e910', 'htmlEntity': '&amp;#xe910' },
{ 'meaning': 'Alert', 'cssClass': 'icon-bell', 'cssContent': 'e911', 'htmlEntity': '&amp;#xe911' },
{ 'meaning': 'General usage box symbol', 'cssClass': 'icon-box', 'cssContent': 'e912', 'htmlEntity': '&amp;#xe912' },
{ 'meaning': 'Click on or into', 'cssClass': 'icon-box-with-arrow', 'cssContent': 'e913', 'htmlEntity': '&amp;#xe913' },
{ 'meaning': 'General usage checkmark, used in checkboxes; complete', 'cssClass': 'icon-check', 'cssContent': 'e914', 'htmlEntity': '&amp;#xe914' },
{ 'meaning': 'Connected', 'cssClass': 'icon-connectivity', 'cssContent': 'e915', 'htmlEntity': '&amp;#xe915' },
{ 'meaning': 'Status: DB connected', 'cssClass': 'icon-database-in-brackets', 'cssContent': 'e916', 'htmlEntity': '&amp;#xe916' },
{ 'meaning': 'View or make visible', 'cssClass': 'icon-eye-open', 'cssContent': 'e917', 'htmlEntity': '&amp;#xe917' },
{ 'meaning': 'Settings, properties', 'cssClass': 'icon-gear', 'cssContent': 'e918', 'htmlEntity': '&amp;#xe918' },
{ 'meaning': 'Process, progress, time', 'cssClass': 'icon-hourglass', 'cssContent': 'e919', 'htmlEntity': '&amp;#xe919' },
{ 'meaning': 'Info', 'cssClass': 'icon-info', 'cssContent': 'e920', 'htmlEntity': '&amp;#xe920' },
{ 'meaning': 'Link (alias)', 'cssClass': 'icon-link', 'cssContent': 'e921', 'htmlEntity': '&amp;#xe921' },
{ 'meaning': 'Locked', 'cssClass': 'icon-lock', 'cssContent': 'e922', 'htmlEntity': '&amp;#xe922' },
{ 'meaning': 'General usage minus symbol; used in timer object', 'cssClass': 'icon-minus', 'cssContent': 'e923', 'htmlEntity': '&amp;#xe923' },
{ 'meaning': 'An item that is shared', 'cssClass': 'icon-people', 'cssContent': 'e924', 'htmlEntity': '&amp;#xe924' },
{ 'meaning': 'User profile or belonging to an individual', 'cssClass': 'icon-person', 'cssContent': 'e925', 'htmlEntity': '&amp;#xe925' },
{ 'meaning': 'General usage plus symbol; used in timer object', 'cssClass': 'icon-plus', 'cssContent': 'e926', 'htmlEntity': '&amp;#xe926' },
{ 'meaning': 'Delete', 'cssClass': 'icon-trash', 'cssContent': 'e927', 'htmlEntity': '&amp;#xe927' },
{ 'meaning': 'Close, remove', 'cssClass': 'icon-x', 'cssContent': 'e928', 'htmlEntity': '&amp;#xe928' },
{ 'meaning': 'Enclosing, inclusive; used in Time Conductor', 'cssClass': 'icon-brackets', 'cssContent': 'e929', 'htmlEntity': '&amp;#xe929' },
{ 'meaning': 'Something is targeted', 'cssClass': 'icon-crosshair', 'cssContent': 'e930', 'htmlEntity': '&amp;#xe930' },
{ 'meaning': 'Draggable', 'cssClass': 'icon-grippy', 'cssContent': 'e931', 'htmlEntity': '&amp;#xe931' }
]; controls= [{ 'meaning': 'Reset zoom/pam', 'cssClass': 'icon-arrows-out', 'cssContent': 'e1000', 'htmlEntity': '&amp;#xe1000' },
{ 'meaning': 'Expand vertically', 'cssClass': 'icon-arrows-right-left', 'cssContent': 'e1001', 'htmlEntity': '&amp;#xe1001' },
{ 'meaning': 'View scrolling', 'cssClass': 'icon-arrows-up-down', 'cssContent': 'e1002', 'htmlEntity': '&amp;#xe1002' },
{ 'meaning': 'Bullet; used in radio buttons', 'cssClass': 'icon-bullet', 'cssContent': 'e1004', 'htmlEntity': '&amp;#xe1004' },
{ 'meaning': 'Invoke datetime picker', 'cssClass': 'icon-calendar', 'cssContent': 'e1005', 'htmlEntity': '&amp;#xe1005' },
{ 'meaning': 'Web link', 'cssClass': 'icon-chain-links', 'cssContent': 'e1006', 'htmlEntity': '&amp;#xe1006' },
{ 'meaning': 'Collapse left', 'cssClass': 'icon-collapse-pane-left', 'cssContent': 'e1007', 'htmlEntity': '&amp;#xe1007' },
{ 'meaning': 'Collapse right', 'cssClass': 'icon-collapse-pane-right', 'cssContent': 'e1008', 'htmlEntity': '&amp;#xe1008' },
{ 'meaning': 'Download', 'cssClass': 'icon-download', 'cssContent': 'e1009', 'htmlEntity': '&amp;#xe1009' },
{ 'meaning': 'Copy/Duplicate', 'cssClass': 'icon-duplicate', 'cssContent': 'e1010', 'htmlEntity': '&amp;#xe1010' },
{ 'meaning': 'New folder', 'cssClass': 'icon-folder-new', 'cssContent': 'e1011', 'htmlEntity': '&amp;#xe1011' },
{ 'meaning': 'Exit fullscreen mode', 'cssClass': 'icon-fullscreen-collapse', 'cssContent': 'e1012', 'htmlEntity': '&amp;#xe1012' },
{ 'meaning': 'Display fullscreen', 'cssClass': 'icon-fullscreen-expand', 'cssContent': 'e1013', 'htmlEntity': '&amp;#xe1013' },
{ 'meaning': 'Layer order', 'cssClass': 'icon-layers', 'cssContent': 'e1014', 'htmlEntity': '&amp;#xe1014' },
{ 'meaning': 'Line color', 'cssClass': 'icon-line-horz', 'cssContent': 'e1015', 'htmlEntity': '&amp;#xe1015' },
{ 'meaning': 'Search', 'cssClass': 'icon-magnify', 'cssContent': 'e1016', 'htmlEntity': '&amp;#xe1016' },
{ 'meaning': 'Zoom in', 'cssClass': 'icon-magnify-in', 'cssContent': 'e1017', 'htmlEntity': '&amp;#xe1017' },
{ 'meaning': 'Zoom out', 'cssClass': 'icon-magnify-out', 'cssContent': 'e1018', 'htmlEntity': '&amp;#xe1018' },
{ 'meaning': 'Menu', 'cssClass': 'icon-menu-hamburger', 'cssContent': 'e1019', 'htmlEntity': '&amp;#xe1019' },
{ 'meaning': 'Move', 'cssClass': 'icon-move', 'cssContent': 'e1020', 'htmlEntity': '&amp;#xe1020' },
{ 'meaning': 'Open in new window', 'cssClass': 'icon-new-window', 'cssContent': 'e1021', 'htmlEntity': '&amp;#xe1021' },
{ 'meaning': 'Fill', 'cssClass': 'icon-paint-bucket', 'cssContent': 'e1022', 'htmlEntity': '&amp;#xe1022' },
{ 'meaning': 'Pause real-time streaming', 'cssClass': 'icon-pause', 'cssContent': 'e1023', 'htmlEntity': '&amp;#xe1023' },
{ 'meaning': 'Edit', 'cssClass': 'icon-pencil', 'cssContent': 'e1024', 'htmlEntity': '&amp;#xe1024' },
{ 'meaning': 'Stop pause, resume real-time streaming', 'cssClass': 'icon-play', 'cssContent': 'e1025', 'htmlEntity': '&amp;#xe1025' },
{ 'meaning': 'Plot resources', 'cssClass': 'icon-plot-resource', 'cssContent': 'e1026', 'htmlEntity': '&amp;#xe1026' },
{ 'meaning': 'Previous', 'cssClass': 'icon-pointer-left', 'cssContent': 'e1027', 'htmlEntity': '&amp;#xe1027' },
{ 'meaning': 'Next, navigate to', 'cssClass': 'icon-pointer-right', 'cssContent': 'e1028', 'htmlEntity': '&amp;#xe1028' },
{ 'meaning': 'Refresh', 'cssClass': 'icon-refresh', 'cssContent': 'e1029', 'htmlEntity': '&amp;#xe1029' },
{ 'meaning': 'Save', 'cssClass': 'icon-save', 'cssContent': 'e1030', 'htmlEntity': '&amp;#xe1030' },
{ 'meaning': 'View plot', 'cssClass': 'icon-sine', 'cssContent': 'e1031', 'htmlEntity': '&amp;#xe1031' },
{ 'meaning': 'Text color', 'cssClass': 'icon-T', 'cssContent': 'e1032', 'htmlEntity': '&amp;#xe1032' },
{ 'meaning': 'Image thumbs strip; view items grid', 'cssClass': 'icon-thumbs-strip', 'cssContent': 'e1033', 'htmlEntity': '&amp;#xe1033' },
{ 'meaning': 'Two part item, both parts', 'cssClass': 'icon-two-parts-both', 'cssContent': 'e1034', 'htmlEntity': '&amp;#xe1034' },
{ 'meaning': 'Two part item, one only', 'cssClass': 'icon-two-parts-one-only', 'cssContent': 'e1035', 'htmlEntity': '&amp;#xe1035' },
{ 'meaning': 'Resync', 'cssClass': 'icon-resync', 'cssContent': 'e1036', 'htmlEntity': '&amp;#xe1036' },
{ 'meaning': 'Reset', 'cssClass': 'icon-reset', 'cssContent': 'e1037', 'htmlEntity': '&amp;#xe1037' },
{ 'meaning': 'Clear', 'cssClass': 'icon-x-in-circle', 'cssContent': 'e1038', 'htmlEntity': '&amp;#xe1038' },
{ 'meaning': 'Brightness', 'cssClass': 'icon-brightness', 'cssContent': 'e1039', 'htmlEntity': '&amp;#xe1039' },
{ 'meaning': 'Contrast', 'cssClass': 'icon-contrast', 'cssContent': 'e1040', 'htmlEntity': '&amp;#xe1040' },
{ 'meaning': 'Expand', 'cssClass': 'icon-expand', 'cssContent': 'e1041', 'htmlEntity': '&amp;#xe1041' },
{ 'meaning': 'View items in a tabular list', 'cssClass': 'icon-list-view', 'cssContent': 'e1042', 'htmlEntity': '&amp;#xe1042' },
{ 'meaning': 'Snap an object corner to a grid', 'cssClass': 'icon-grid-snap-to', 'cssContent': 'e1043', 'htmlEntity': '&amp;#xe1043' },
{ 'meaning': 'Do not snap an object corner to a grid', 'cssClass': 'icon-grid-snap-no', 'cssContent': 'e1044', 'htmlEntity': '&amp;#xe1044' },
{ 'meaning': 'Show an object frame in a Display Layout', 'cssClass': 'icon-frame-show', 'cssContent': 'e1045', 'htmlEntity': '&amp;#xe1045' },
{ 'meaning': 'Do not show an object frame in a Display Layout', 'cssClass': 'icon-frame-hide', 'cssContent': 'e1046', 'htmlEntity': '&amp;#xe1046' }
]; objects= [{ 'meaning': 'Activity', 'cssClass': 'icon-activity', 'cssContent': 'e1100', 'htmlEntity': '&amp;#xe1100' },
{ 'meaning': 'Activity Mode', 'cssClass': 'icon-activity-mode', 'cssContent': 'e1101', 'htmlEntity': '&amp;#xe1101' },
{ 'meaning': 'Auto-flow Tabular view', 'cssClass': 'icon-autoflow-tabular', 'cssContent': 'e1102', 'htmlEntity': '&amp;#xe1102' },
{ 'meaning': 'Clock object type', 'cssClass': 'icon-clock', 'cssContent': 'e1103', 'htmlEntity': '&amp;#xe1103' },
{ 'meaning': 'Database', 'cssClass': 'icon-database', 'cssContent': 'e1104', 'htmlEntity': '&amp;#xe1104' },
{ 'meaning': 'Data query', 'cssClass': 'icon-database-query', 'cssContent': 'e1105', 'htmlEntity': '&amp;#xe1105' },
{ 'meaning': 'Data Set domain object', 'cssClass': 'icon-dataset', 'cssContent': 'e1106', 'htmlEntity': '&amp;#xe1106' },
{ 'meaning': 'Datatable, channel table', 'cssClass': 'icon-datatable', 'cssContent': 'e1107', 'htmlEntity': '&amp;#xe1107' },
{ 'meaning': 'Dictionary', 'cssClass': 'icon-dictionary', 'cssContent': 'e1108', 'htmlEntity': '&amp;#xe1108' },
{ 'meaning': 'Folder', 'cssClass': 'icon-folder', 'cssContent': 'e1109', 'htmlEntity': '&amp;#xe1109' },
{ 'meaning': 'Imagery', 'cssClass': 'icon-image', 'cssContent': 'e1110', 'htmlEntity': '&amp;#xe1110' },
{ 'meaning': 'Display Layout', 'cssClass': 'icon-layout', 'cssContent': 'e1111', 'htmlEntity': '&amp;#xe1111' },
{ 'meaning': 'Generic Object', 'cssClass': 'icon-object', 'cssContent': 'e1112', 'htmlEntity': '&amp;#xe1112' },
{ 'meaning': 'Unknown object type', 'cssClass': 'icon-object-unknown', 'cssContent': 'e1113', 'htmlEntity': '&amp;#xe1113' },
{ 'meaning': 'Packet domain object', 'cssClass': 'icon-packet', 'cssContent': 'e1114', 'htmlEntity': '&amp;#xe1114' },
{ 'meaning': 'Page', 'cssClass': 'icon-page', 'cssContent': 'e1115', 'htmlEntity': '&amp;#xe1115' },
{ 'meaning': 'Overlay plot', 'cssClass': 'icon-plot-overlay', 'cssContent': 'e1116', 'htmlEntity': '&amp;#xe1116' },
{ 'meaning': 'Stacked plot', 'cssClass': 'icon-plot-stacked', 'cssContent': 'e1117', 'htmlEntity': '&amp;#xe1117' },
{ 'meaning': 'Session object', 'cssClass': 'icon-session', 'cssContent': 'e1118', 'htmlEntity': '&amp;#xe1118' },
{ 'meaning': 'Table', 'cssClass': 'icon-tabular', 'cssContent': 'e1119', 'htmlEntity': '&amp;#xe1119' },
{ 'meaning': 'Latest available data object', 'cssClass': 'icon-tabular-lad', 'cssContent': 'e1120', 'htmlEntity': '&amp;#xe1120' },
{ 'meaning': 'Latest available data set', 'cssClass': 'icon-tabular-lad-set', 'cssContent': 'e1121', 'htmlEntity': '&amp;#xe1121' },
{ 'meaning': 'Real-time table view', 'cssClass': 'icon-tabular-realtime', 'cssContent': 'e1122', 'htmlEntity': '&amp;#xe1122' },
{ 'meaning': 'Real-time scrolling table', 'cssClass': 'icon-tabular-scrolling', 'cssContent': 'e1123', 'htmlEntity': '&amp;#xe1123' },
{ 'meaning': 'Telemetry element', 'cssClass': 'icon-telemetry', 'cssContent': 'e1124', 'htmlEntity': '&amp;#xe1124' },
{ 'meaning': 'Telemetry Panel object', 'cssClass': 'icon-telemetry-panel', 'cssContent': 'e1125', 'htmlEntity': '&amp;#xe1125' },
{ 'meaning': 'Timeline object', 'cssClass': 'icon-timeline', 'cssContent': 'e1126', 'htmlEntity': '&amp;#xe1126' },
{ 'meaning': 'Timer object', 'cssClass': 'icon-timer', 'cssContent': 'e1127', 'htmlEntity': '&amp;#xe1127' },
{ 'meaning': 'Data Topic', 'cssClass': 'icon-topic', 'cssContent': 'e1128', 'htmlEntity': '&amp;#xe1128' },
{ 'meaning': 'Fixed Position object', 'cssClass': 'icon-box-with-dashed-lines', 'cssContent': 'e1129', 'htmlEntity': '&amp;#xe1129' },
{ 'meaning': 'Summary Widget', 'cssClass': 'icon-summary-widget', 'cssContent': 'e1130', 'htmlEntity': '&amp;#xe1130' }
];
"></div>
<div class="l-style-guide s-text">
<p class="doc-title">Open MCT Style Guide</p>
<h1>Glyphs</h1>
<div class="l-section">
<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 &quot;crisp&quot; 16px approach. Find out more about <a class="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>
<div class="l-section">
<h2>How to Use Glyphs</h2>
<div class="cols cols1-1">
<div class="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>
</div>
<mct-example><a class="s-button icon-gear" title="Settings"></a>
<br /><br />
<a class="s-icon-button icon-gear" title="Settings"></a>
<br /><br />
<div class="ui-symbol">&#xe901 &#xe914 &#xe922</div>
</mct-example>
</div>
</div>
<div class="l-section">
<h2>General User Interface Glyphs</h2>
<p>Glyphs suitable for denoting general user interface verbs and nouns.</p>
<div class="items-holder grid">
<div class="item glyph-item" ng-repeat="glyph in general">
<div class="glyph" ng-class="glyph.cssClass"></div>
<table class="details">
<tr><td class="label">Class</td><td class="value">.{{glyph.cssClass}}</td></tr>
<tr><td class="label">Meaning</td><td class="value">{{glyph.meaning}}</td></tr>
<tr><td class="label">CSS Content</td><td class="value">\{{glyph.cssContent}}</td></tr>
<tr><td class="label">HTML Entity</td><td class="value">{{glyph.htmlEntity}}</td></tr>
</table>
</div>
</div>
</div>
<div class="l-section">
<h2>Control Glyphs</h2>
<p>Glyphs created for use in various controls.</p>
<div class="items-holder grid">
<div class="item glyph-item" ng-repeat="glyph in controls">
<div class="glyph" ng-class="glyph.cssClass"></div>
<table class="details">
<tr><td class="label">Class</td><td class="value">.{{glyph.cssClass}}</td></tr>
<tr><td class="label">Meaning</td><td class="value">{{glyph.meaning}}</td></tr>
<tr><td class="label">CSS Content</td><td class="value">\{{glyph.cssContent}}</td></tr>
<tr><td class="label">HTML Entity</td><td class="value">{{glyph.htmlEntity}}</td></tr>
</table>
</div>
</div>
</div>
<div class="l-section">
<h2>Object Type Glyphs</h2>
<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>
<div class="items-holder grid">
<div class="item glyph-item" ng-repeat="glyph in objects">
<div class="glyph" ng-class="glyph.cssClass"></div>
<table class="details">
<tr><td class="label">Class</td><td class="value">.{{glyph.cssClass}}</td></tr>
<tr><td class="label">Meaning</td><td class="value">{{glyph.meaning}}</td></tr>
<tr><td class="label">CSS Content</td><td class="value">\{{glyph.cssContent}}</td></tr>
<tr><td class="label">HTML Entity</td><td class="value">{{glyph.htmlEntity}}</td></tr>
</table>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,75 @@
<!--
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.
-->
<div class="l-style-guide s-text">
<p class="doc-title">Open MCT Style Guide</p>
<h1>Text Input</h1>
<div class="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>
<div class="l-section">
<h2>Text Inputs</h2>
<div class="cols cols1-1">
<div class="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><input type="text" placeholder="Enter a value" />
<br /><br />
<input type="text" placeholder="Enter a value" value="An entered value" />
<br /><br />
<input type="text" placeholder="Enter a value" class="sm" value="Small" />
<br /><br />
<input type="text" placeholder="Enter a value" class="med" value="A medium input" />
<br /><br />
<input type="text" placeholder="Enter a value" class="lg" value="A large input" />
<br /><br />
<input type="text" placeholder="Enter a value" class="sm numeric" value="10.9" />
</mct-example>
</div>
</div>
<div class="l-section">
<h2>Textareas</h2>
<div class="cols cols1-1">
<div class="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>
</div>
<mct-example><div style="position: relative; height: 100px">
<textarea placeholder="Enter a value"></textarea>
</div>
<br />
<div style="position: relative; height: 100px">
<textarea placeholder="Enter a value">An entered value</textarea>
</div>
<br /><br />
<textarea placeholder="Enter a value" class="sm">A small textarea</textarea>
<br /><br />
<textarea placeholder="Enter a value" class="med">A medium textarea</textarea>
<br /><br />
<textarea placeholder="Enter a value" class="lg">A large textarea</textarea>
</mct-example>
</div>
</div>
</div>

View File

@@ -0,0 +1,73 @@
<!--
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.
-->
<div class="l-style-guide s-text">
<p class="doc-title">Open MCT Style Guide</p>
<h1>Introduction</h1>
<div class="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>
<div class="l-section">
<h2>Everything Is An Object</h2>
<div class="cols cols1-1">
<div class="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>
<div class="col">
<img src="/example/styleguide/res/images/diagram-objects.svg" />
</div>
</div>
</div>
<div class="l-section">
<h2>Object Types</h2>
<div class="cols cols1-1">
<div class="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 Folders 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>
<div class="col">
<img src="/example/styleguide/res/images/diagram-containment.svg" />
</div>
</div>
</div>
<div class="l-section">
<h2>Object Views</h2>
<div class="cols cols1-1">
<div class="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; its just represented differently. When providing views for an object, all the content of the object should be present in each view.</p>
</div>
<div class="col">
<img src="/example/styleguide/res/images/diagram-views.svg" />
</div>
</div>
</div>
<p></p>
<p></p>
<p></p>
</div>

View File

@@ -0,0 +1,8 @@
<div class="col">
<h3>Markup</h3>
<span class="w-markup">
<pre></pre>
</span>
<h3>Example</h3>
<div></div>
</div>

View File

@@ -0,0 +1,168 @@
<!--
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.
-->
<div class="l-style-guide s-text">
<p class="doc-title">Open MCT Style Guide</p>
<h1>Menus</h1>
<div class="l-section">
<h2>Context Menus</h2>
<div class="cols cols1-1">
<div class="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 <a class="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>
</div>
<mct-example><div style="height: 120px">
<div class="menu-element context-menu-wrapper mobile-disable-select">
<div class="menu context-menu">
<ul>
<li onclick="alert('Perform an action')" title="Open in a new browser tab" class="icon-new-window">Open In New Tab</li>
<li onclick="alert('Perform an action')" title="Remove this object from its containing object." class="icon-trash">Remove</li>
<li onclick="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>
<div class="l-section">
<h2>Dropdown Menus</h2>
<div class="cols cols1-1">
<div class="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 <span class="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><div style="height: 220px" title="Ignore me, I'm just here to provide space for this example.">
<div class="l-flex-row flex-elem grows object-header">
<span class="type-icon flex-elem icon-layout"></span>
<span class="l-elem-wrapper l-flex-row flex-elem grows">
<span class="title-label flex-elem holder flex-can-shrink ng-binding">Object Header</span>
<span class="flex-elem context-available-w">
<span ng-controller="MenuArrowController as menuArrow" class="ng-scope">
<a class="context-available" ng-click="menuArrow.showMenu($event)"></a>
</span>
</span>
</span>
</div>
</div></mct-example>
</div>
</div>
<div class="l-section">
<h2>Checkbox Menus</h2>
<div class="cols cols1-1">
<div class="col">
<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><div style="height: 220px" title="Ignore me, I'm just here to provide space for this example.">
<div ng-controller="SearchMenuController as controller" class="ng-scope">
<div class="menu checkbox-menu" mct-click-elsewhere="parameters.menuVisible(false)">
<ul>
<!-- First element is special - it's a reset option -->
<li class="search-menu-item special icon-asterisk" title="Select all filters" ng-click="ngModel.checkAll = !ngModel.checkAll; controller.checkAll()">
<label class="checkbox custom no-text">
<input type="checkbox" class="checkbox ng-untouched ng-valid ng-dirty" ng-model="ngModel.checkAll" ng-change="controller.checkAll()">
<em></em>
</label>
All
</li>
<li class="search-menu-item icon-folder">
<label class="checkbox custom no-text">
<input type="checkbox" class="checkbox">
<em></em>
</label>
Folder
</li>
<li class="search-menu-item icon-layout">
<label class="checkbox custom no-text">
<input type="checkbox" class="checkbox">
<em></em>
</label>
Display Layout
</li>
<li class="search-menu-item icon-box-with-dashed-lines">
<label class="checkbox custom no-text">
<input type="checkbox" class="checkbox">
<em></em>
</label>
Fixed Position Display
</li>
</ul>
</div>
</div>
</div>
</mct-example>
</div>
</div>
<div class="l-section">
<h2>Palettes</h2>
<div class="cols cols1-1">
<div class="col">
<p>Use a palette to provide color choices. Similar to context menus and dropdowns, palettes should be dismissed when a choice is made within them, or if the user clicks outside one.</p>
<p>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><div style="height: 220px" title="Ignore me, I'm just here to provide space for this example.">
<div class="s-button s-menu-button menu-element t-color-palette icon-paint-bucket" ng-controller="ClickAwayController as toggle">
<span class="l-click-area" ng-click="toggle.toggle()"></span>
<span class="color-swatch" style="background: rgb(255, 0, 0);"></span>
<div class="menu l-color-palette" ng-show="toggle.isActive()">
<div class="l-palette-row l-option-row">
<div class="l-palette-item s-palette-item " ng-click="ngModel[field] = 'transparent'"></div>
<span class="l-palette-item-label">None</span>
</div>
<div class="l-palette-row">
<div class="l-palette-item s-palette-item" style="background: rgb(0, 0, 0);"></div>
<div class="l-palette-item s-palette-item" style="background: rgb(28, 28, 28);"></div>
<div class="l-palette-item s-palette-item" style="background: rgb(57, 57, 57);"></div>
<div class="l-palette-item s-palette-item" style="background: rgb(85, 85, 85);"></div>
<div class="l-palette-item s-palette-item" style="background: rgb(113, 113, 113);"></div>
<div class="l-palette-item s-palette-item" style="background: rgb(142, 142, 142);"></div>
<div class="l-palette-item s-palette-item" style="background: rgb(170, 170, 170);"></div>
<div class="l-palette-item s-palette-item" style="background: rgb(198, 198, 198);"></div>
<div class="l-palette-item s-palette-item" style="background: rgb(227, 227, 227);"></div>
<div class="l-palette-item s-palette-item" style="background: rgb(255, 255, 255);"></div>
</div>
<div class="l-palette-row">
<div class="l-palette-item s-palette-item" style="background: rgb(136, 32, 32);"></div>
<div class="l-palette-item s-palette-item" style="background: rgb(224, 64, 64);"></div>
<div class="l-palette-item s-palette-item" style="background: rgb(240, 160, 72);"></div>
<div class="l-palette-item s-palette-item" style="background: rgb(255, 248, 96);"></div>
<div class="l-palette-item s-palette-item" style="background: rgb(128, 240, 72);"></div>
<div class="l-palette-item s-palette-item" style="background: rgb(128, 248, 248);"></div>
<div class="l-palette-item s-palette-item" style="background: rgb(88, 144, 224);"></div>
<div class="l-palette-item s-palette-item" style="background: rgb(0, 72, 240);"></div>
<div class="l-palette-item s-palette-item" style="background: rgb(136, 80, 240);"></div>
<div class="l-palette-item s-palette-item" style="background: rgb(224, 96, 248);"></div>
</div>
</div>
</div>
</div></mct-example>
</div>
</div>
</div>

View File

@@ -0,0 +1,48 @@
<!--
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.
-->
<div class="l-style-guide s-text">
<p class="doc-title">Open MCT Style Guide</p>
<h1>Standards</h1>
<div class="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 -->
<table>
<tr class='header'><td>Type</td><td>Description</td><td>Z-index Range</td></tr>
<tr><td>Base interface items</td><td>Base level elements</td><td>0 - 1</td></tr>
<tr><td>Primary pane</td><td>Elements in the primary "view area" pane</td><td>2</td></tr>
<tr><td>Inspector pane, splitters</td><td>Elements in the Inspector, and splitters themselves</td><td>3</td></tr>
<tr><td>More base interface stuff</td><td>Base level elements</td><td>4 - 9</td></tr>
<tr><td>Treeview</td><td>Lefthand treeview elements</td><td>30 - 39</td></tr>
<tr><td>Help bubbles, rollover hints</td><td>Infobubbles, and similar</td><td>50 - 59</td></tr>
<tr><td>Context, button and dropdown menus</td><td>Context menus, button menus, etc. that must overlay other elements</td><td>70 - 79</td></tr>
<tr><td>Overlays</td><td>Modal overlay displays</td><td>100 - 109</td></tr>
<tr><td>Event messages</td><td>Alerts, event dialogs</td><td>1000</td></tr>
</table>
</div>
</div>

View File

@@ -19,44 +19,32 @@
* this source code distribution or the Licensing information page available
* at runtime from the About dialog for additional information.
*****************************************************************************/
/*global define*/
/**
* Module defining DomainColumn.
*/
define(
[],
function () {
"use strict";
/**
* A column which will report telemetry domain values
* (typically, timestamps.) Used by the ScrollingListController.
*
* @memberof platform/features/table
* @constructor
* @param domainMetadata an object with the machine- and human-
* readable names for this domain (in `key` and `name`
* fields, respectively.)
* @param {TelemetryFormatter} telemetryFormatter the telemetry
* formatting service, for making values human-readable.
*/
function DomainColumn(domainMetadata, telemetryFormatter) {
this.domainMetadata = domainMetadata;
this.telemetryFormatter = telemetryFormatter;
function ExampleStyleGuideModelProvider($q) {
var pages = {};
// Add pages
pages['intro'] = { name: "Introduction", type: "styleguide.intro", location: "styleguide:home" };
pages['standards'] = { name: "Standards", type: "styleguide.standards", location: "styleguide:home" };
pages['colors'] = { name: "Colors", type: "styleguide.colors", location: "styleguide:home" };
pages['glyphs'] = { name: "Glyphs", type: "styleguide.glyphs", location: "styleguide:home" };
pages['controls'] = { name: "Controls", type: "styleguide.controls", location: "styleguide:ui-elements" };
pages['input'] = { name: "Text Inputs", type: "styleguide.input", location: "styleguide:ui-elements" };
pages['menus'] = { name: "Menus", type: "styleguide.menus", location: "styleguide:ui-elements" };
return {
getModels: function () {
return $q.when(pages);
}
};
}
DomainColumn.prototype.getTitle = function () {
return this.domainMetadata.name;
};
DomainColumn.prototype.getValue = function (domainObject, datum) {
return {
text: this.telemetryFormatter.formatDomainValue(
datum[this.domainMetadata.key],
this.domainMetadata.format
)
};
};
return DomainColumn;
return ExampleStyleGuideModelProvider
}
);
);

View File

@@ -0,0 +1,30 @@
define([
'text!../res/templates/mct-example.html'
], function (
MCTExampleTemplate
) {
function MCTExample() {
function link($scope, $element, $attrs, controller, $transclude) {
var codeEl = $element.find('pre');
var exampleEl = $element.find('div');
$transclude(function (clone) {
exampleEl.append(clone);
codeEl.text(exampleEl.html()
.replace(/ class="ng-scope"/g, "")
.replace(/ ng-scope"/g, '"'));
});
}
return {
restrict: "E",
template: MCTExampleTemplate,
transclude: true,
link: link,
replace: true
};
}
return MCTExample;
});

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -66,4 +66,4 @@ define(
return ExampleTaxonomyModelProvider;
}
);
);

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -69,14 +69,23 @@ var gulp = require('gulp'),
}
};
if (process.env.NODE_ENV === 'development') {
options.requirejsOptimize.optimize = 'none';
}
gulp.task('scripts', function () {
var requirejsOptimize = require('gulp-requirejs-optimize');
var replace = require('gulp-replace-task');
var header = require('gulp-header');
var comment = fs.readFileSync('src/about.frag');
return gulp.src(paths.main)
.pipe(sourcemaps.init())
.pipe(requirejsOptimize(options.requirejsOptimize))
.pipe(sourcemaps.write('.'))
.pipe(replace(options.replace))
.pipe(header(comment, options.replace.variables))
.pipe(gulp.dest(paths.dist));
});

View File

@@ -1,5 +1,5 @@
<!--
Open MCT, Copyright (c) 2014-2016, United States Government
Open MCT, Copyright (c) 2014-2017, United States Government
as represented by the Administrator of the National Aeronautics and Space
Administration. All rights reserved.
@@ -28,17 +28,44 @@
<script src="bower_components/requirejs/require.js">
</script>
<script>
var THIRTY_MINUTES = 30 * 60 * 1000;
require(['openmct'], function (openmct) {
[
'example/imagery',
'example/eventGenerator',
'example/generator'
'example/styleguide'
].forEach(
openmct.legacyRegistry.enable.bind(openmct.legacyRegistry)
);
openmct.install(openmct.plugins.myItems);
openmct.install(openmct.plugins.localStorage);
openmct.install(openmct.plugins.espresso);
openmct.install(openmct.plugins.MyItems());
openmct.install(openmct.plugins.LocalStorage());
openmct.install(openmct.plugins.Espresso());
openmct.install(openmct.plugins.Generator());
openmct.install(openmct.plugins.ExampleImagery());
openmct.install(openmct.plugins.UTCTimeSystem());
openmct.install(openmct.plugins.Conductor({
menuOptions: [
{
name: "Fixed",
timeSystem: 'utc',
bounds: {
start: Date.now() - 30 * 60 * 1000,
end: Date.now()
}
},
{
name: "Realtime",
timeSystem: 'utc',
clock: 'local',
clockOffsets: {
start: -25 * 60 * 1000,
end: 5 * 60 * 1000
}
}
]
}));
openmct.time.clock('local', {start: -THIRTY_MINUTES, end: 0});
openmct.time.timeSystem('utc');
openmct.start();
});
</script>

View File

@@ -1,5 +1,5 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2016, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
@@ -35,7 +35,9 @@ module.exports = function(config) {
// By default, files are also included in a script tag.
files: [
{pattern: 'bower_components/**/*.js', included: false},
{pattern: 'node_modules/d3-*/**/*.js', included: false},
{pattern: 'src/**/*.js', included: false},
{pattern: 'example/**/*.html', included: false},
{pattern: 'example/**/*.js', included: false},
{pattern: 'example/**/*.json', included: false},
{pattern: 'platform/**/*.js', included: false},
@@ -53,7 +55,7 @@ module.exports = function(config) {
// Preprocess matching files before serving them to the browser.
// https://npmjs.org/browse/keyword/karma-preprocessor
preprocessors: {
'src/**/src/**/!(*Spec).js': [ 'coverage' ],
'src/**/!(*Spec).js': [ 'coverage' ],
'platform/**/src/**/!(*Spec).js': [ 'coverage' ]
},

Some files were not shown because too many files have changed in this diff Show More