Compare commits

...

2478 Commits

Author SHA1 Message Date
a515ccfb61 [Edit Mode] Refactor edit concerns out of browse controllers
Fixed jslint errors

Removed commented code and added line breaks
2016-02-05 10:00:01 -08:00
560897fe81 [Edit Mode] #627 slightly modified edit representer to detect newly created objects
Added some comments, renamed controller variable in markup

Removed edit references from BrowseController
2016-02-04 16:59:12 -08:00
e1d20e7275 [Edit Mode] #627 remove edit concerns from browse controller 2016-02-04 16:59:11 -08:00
9371fcbc4c [Plot] #638 Added a new plot options example bundle and rebased
Fixed jsdoc

Fixed incorrect memberof declaration

Corrected memberof statement
2016-02-04 15:17:07 -08:00
abf5f22155 [Plots] #638 added onchange handling in order to synchronize forms with domain object model.
Fixed failing test

Added tests

jslint errors

Minor refactoring of layout bundle

revert layout/bundle.json
2016-02-04 14:26:21 -08:00
f2903f4030 [Frontend] Final styling on properties form in Inspector
open #638
Added custom radio button control and modified
PlotOptionsController / plotOptionsStructure
accordingly; spacing, borders, etc. are
all as finally intended;
2016-02-04 14:25:02 -08:00
371669fbce [Frontend] Mods in progress to form layout
open #638
Major progress on form-row markup and CSS when
in Inspector 'part' context; General fixes cleanups
to custom checkbox/radio CSS;
2016-02-04 14:23:29 -08:00
68f3cd087d [Frontend] Mods in progress to form layout
open #638
In progress;
2016-02-04 14:23:29 -08:00
115ffe7963 [Frontend] Fixes to scrolling and layout in Inspector
open #638
In progress;
2016-02-04 14:23:29 -08:00
e3a0cae5fd [Plot] #638 Fleshing out form structures 2016-02-04 14:23:29 -08:00
8bb5a47b88 CSS updated to use new e619 character
open #638
2016-02-04 14:23:28 -08:00
f1b6d7f749 [Frontend] New custom radio mctControl
open #638
Markup and initial CSS
2016-02-04 14:23:28 -08:00
6fb6761abf [Plots] #638 New plot display options 2016-02-04 14:23:28 -08:00
2dd9a16bf3 Merge remote-tracking branch 'open/prod-uisymbols' into open-master 2016-02-02 09:46:15 -08:00
aebae27391 [Tests] Remove suite.json files
Remove obsolete suite.json files; #482
2016-02-02 09:35:50 -08:00
97d0a66684 [Frontend] Added VISTA Topic and Session glyphs to symbols font
open #188
See Google Doc UI Symbols Font Map
for char codes
2016-01-29 17:09:19 -08:00
2727c9544d Merge remote-tracking branch 'github/master' into open-master 2016-01-28 17:33:45 -08:00
a35b0c1d7b Remove erroneously committed file
From #474
2016-01-28 17:33:00 -08:00
7c23f803e8 Merge pull request #477 from nasa/open337
Review and integrate open337
2016-01-27 14:33:37 -08:00
dbf196e014 Merge remote-tracking branch 'github/master' into open477
Resolve conflicts to complete merge of #477

Conflicts:
	platform/commonUI/general/bundle.json
	platform/commonUI/themes/espresso/res/css/theme-espresso.css
	platform/commonUI/themes/snow/res/css/theme-snow.css
2016-01-27 12:53:46 -08:00
b5c8ecc85f Merge pull request #475 from nasa/open325b
[Time Conductor] Update validation logic
2016-01-27 12:44:14 -08:00
9e6da94878 [Time Conductor] Reformat expression in template
...to use less line width, and to exhibit more normal
indentation, per code review feedback from #475
2016-01-22 15:24:27 -08:00
3a26c864b8 [Time Conductor] Fix comment text
Per code review feedback, #475
2016-01-22 15:22:54 -08:00
be7827d6f8 Merge remote-tracking branch 'open/open445' into open-master 2016-01-22 11:47:05 -08:00
b8b5fdcabf [Copy] #497 Removed extraenuous persist call 2016-01-22 11:32:20 -08:00
45276183b9 Merge pull request #496 from nasa/open492
[Documentation] #492 Amended CircleCI configuration to add missing dependency
2016-01-22 09:30:27 -08:00
3850db268a [Documentation] #492 Added missing dependency for CircleCI 2016-01-21 10:54:49 -08:00
fcae3fd7a9 Merge pull request #487 from nasa/open486
Review and integrate open486
2016-01-19 11:38:50 -08:00
83dd23cd4b Merge pull request #490 from nasa/nem-build-fixes
NEM build fixes
2016-01-19 11:37:25 -08:00
26c155da3b Merge branch 'open483' into open-master 2016-01-18 14:09:30 -08:00
db7560c31f [Test] Use PhantomJS to run tests
Switch Karma to use PhantomJS to run tests.  CI machines no longer
need to have Chrome installed.

Implemented after changes to build process due to imperative registration.

https://github.com/nasa/openmctweb/issues/450
2016-01-18 13:57:32 -08:00
6fc028e112 [Docs] remove dependencies for building docs
Remove depencendies necessary to build docs from package.json and
specify them in the readme.  Due to difficulty managing dependencies
for nomnoml on different platforms, this reduces dependency requirements
to only those needed for building the package.
2016-01-18 13:54:33 -08:00
2d44cf78f9 [Frontend] Fixed HTML and CSS for grid-item
open #486
Normalized grid-item to use similar HTML structure
as label template;
Fixed CSS accordingly.
2016-01-15 15:33:10 -08:00
9b6f3bff85 Merge pull request #485 from nasa/open337-filters
[Plot] Use filters to reverse tick labels
2016-01-15 13:30:41 -08:00
c2207fe7ce [Plot] Use reverse filter for range ticks too 2016-01-15 13:14:33 -08:00
119429bc42 [Plot] Test reverse filter 2016-01-15 13:13:08 -08:00
a94e99af70 [Plot] Use reverse filter for plot ticks
...to remove CSS-related reversal from scripts
2016-01-15 13:09:05 -08:00
96dc055f02 [Plot] Add reverse filter 2016-01-15 13:06:56 -08:00
a50410f8ed [Plot] Allow filters to be registered
https://github.com/nasa/openmctweb/pull/477/files#r49903975
2016-01-15 13:00:24 -08:00
0dc715199d [Build] Include examples in build 2016-01-15 11:44:26 -08:00
aab53c4ae1 [Build] Exclude target from build 2016-01-15 11:41:50 -08:00
b63812111d [Build] Include bundle.js files
https://github.com/nasa/openmctweb/issues/483
2016-01-15 11:34:58 -08:00
193c7e3db2 [New Edit Mode] Fixed failing Time Conductor Test 2016-01-14 19:57:06 -08:00
a023b0e19c Fixed failing MCTToolbarSpec 2016-01-14 19:22:33 -08:00
66e827de2e Fixed Outstanding issues from merge 2016-01-14 18:51:53 -08:00
7a563b80ee Fixing bundle load issues 2016-01-14 17:32:59 -08:00
032b2542f0 Merged from Master 2016-01-14 17:23:53 -08:00
3e7eb11d84 Regenerated bundles 2016-01-14 17:08:19 -08:00
3f5a8cb2be [New Edit Mode] Disabled time conductor tests which are failing 2016-01-14 16:12:44 -08:00
f300b99b7b [New Edit Mode] Code style fixes
JSLint error
2016-01-14 15:55:02 -08:00
d78bd9fd51 Merged from master 2016-01-14 15:16:02 -08:00
b4448020e4 JSLint 2016-01-14 15:12:15 -08:00
0741e2cf5e Disabled failing tests 2016-01-14 15:11:19 -08:00
6d3b2c716b JSLint 2016-01-14 15:05:26 -08:00
858aa6146a JSLint 2016-01-14 15:04:13 -08:00
826d39a749 [New Edit Mode] Fixed logic in EditActionPolicy to use positive logic 2016-01-14 15:02:22 -08:00
77efda2c11 [New Edit Mode] JSLint 2016-01-14 14:44:19 -08:00
cb866bce33 [New Edit Mode] Removed test bypass from circle CI deployment descriptor 2016-01-14 14:21:32 -08:00
88f8925d17 Merge pull request #469 from nasa/open450b
[API Refactor] Imperatively register bundles
2016-01-14 09:41:04 -08:00
442229fd42 Merge branch 'master' of https://github.com/nasa/openmctweb into open445
Conflicts:
	platform/features/plot/res/templates/plot.html
2016-01-13 16:01:02 -08:00
a7a707595c [Frontend] Fixes to CSS for Chrome Linux
open #445
Mods and simplifications to wait-spinner classes;
Simplification and cleanup in plot.html to use loading
class instead of hide/show DOM element;
2016-01-13 13:54:00 -08:00
388cab8d32 Merge pull request #476 from nasa/open342
Review and integrate open342
2016-01-13 12:46:41 -08:00
69c5b110bf [API Refactor] Move out non-global require config 2016-01-13 12:41:15 -08:00
45142e03dc [API Refactor] Move uuid dependency out of top-level 2016-01-13 12:33:22 -08:00
86daad5fbd [API Refactor] Remove obsolete UUID dependency
...in association with cleanup of requirejs config,
https://github.com/nasa/openmctweb/pull/469/files#r49642503
2016-01-13 12:22:44 -08:00
8c325eb1b1 [Frontend] Mods to allow plot tick labels to ellipsis to left
open #337
Still fixing code due to circleci fail in pull request;
2016-01-13 10:11:14 -08:00
5e628b1a25 [Frontend] Mods to allow plot tick labels to ellipsis to left
open #337
Still fixing code due to circleci fail in pull request;
2016-01-13 10:05:30 -08:00
d1e5ca7875 Merge pull request #473 from nasa/nem470_prototype
Review and integrate nem470_prototype
2016-01-13 09:04:41 -08:00
f8114ba6b6 [Frontend] Mods to allow plot tick labels to ellipsis to left
open #337
Fixing code due to circleci fail in pull request;
2016-01-12 18:23:30 -08:00
a10f895904 [Frontend] Mods to allow plot tick labels to ellipsis to left
open #337
Fixing code due to circleci fail in pull request;
2016-01-12 18:20:52 -08:00
9b59fd7eae [Frontend] Mods to allow plot tick labels to ellipsis to left
open #337
Tick label strings are now reversed in their char order in
PlotTickGenerator.js, then reversed again via CSS in
_plots-main.scss. This forces the browser to clip the label
at the left 'start' side, rather than the end, resulting in
the least significant portion of the label getting clipped.
2016-01-12 18:04:09 -08:00
8dd36d426c [Frontend] Refactoring local controls hide and show
open #342
Now using CSS hover on pertinent plot areas;
Refining of select styling, tweaks for Firefox Linux;
Tweaks to local-control positioning in plots;
Changed *-options controls to use length > 1
instead of > 0;
2016-01-12 15:54:56 -08:00
9fe026a1f1 [Time Conductor] Decrease minimum outer span 2016-01-11 18:29:42 -08:00
3b5c1bf2e6 [Time Conductor] Update spec
Verify that validation occurs against state in formModel;
remove obsolete test case for enforcing minimum outer span
2016-01-11 18:28:44 -08:00
bb993dc94f [Time Conductor] Don't update invalid bounds
Don't enforce minimum time span when bounds are invalid;
https://github.com/nasa/openmctweb/issues/325#issuecomment-170755787
2016-01-11 18:23:32 -08:00
5beb1de805 [Time Conductor] Display validation errors consistently 2016-01-11 16:56:58 -08:00
0a012c67dd [Time Conductor] Test additions to TimeRangeController
Add test cases to cover validators added to display
start/end time violations.
2016-01-11 16:41:20 -08:00
11b71fae68 [Time Conductor] Display invalid state
...when text value can be parsed in a date-time field,
but numeric value violates externally-imposed validation
2016-01-11 15:29:43 -08:00
e6d0537e5e Revert "[Time Conductor] Validate numeric date-time fields"
This reverts commit 07c407edea.
2016-01-11 15:23:21 -08:00
c57cb43462 [Frontend] Fixed z-index of .primary-pane
open #470
(cherry picked from commit 6bdcce0)
2016-01-11 15:19:23 -08:00
99556ed6a5 [Time Conductor] Validate start/end times 2016-01-11 15:18:38 -08:00
07c407edea [Time Conductor] Validate numeric date-time fields
Allow injection of a validator for numeric values of
the date-time fields, to allow for these to be displayed
as invalid in cases where the text itself may be parsed
but the resulting value is not valid (e.g. when start
is greater than end.)

https://github.com/nasa/openmctweb/issues/325
2016-01-11 15:18:26 -08:00
acb2a2da12 Merge master into nem468a - picking up missed files 2016-01-11 13:30:56 -08:00
4f7ca98b60 Merge branch 'master' into nem468a.
Many tweaks to fix some issues with tree, labels and Inspector.

Conflicts:
	platform/commonUI/edit/res/templates/elements.html
	platform/commonUI/general/res/sass/search/_search.scss
	platform/commonUI/general/res/sass/tree/_tree.scss
	platform/commonUI/general/res/templates/object-inspector.html
	platform/commonUI/themes/espresso/res/css/theme-espresso.css
	platform/commonUI/themes/snow/res/css/theme-snow.css
	platform/search/res/templates/search.html
2016-01-11 13:29:26 -08:00
a65ca7cb1e [Frontend] Refactor Inspector to use s-status-editing
open #468
Removed ng-show="editMode" in object-inspector.html;
Refactored CSS as required in _inspector.scss;
Added opacity transition to splitter-inspect-panel and
split-pane-component pane bottom, but not working as desired currently:
entire inspector seems to be destroyed and recreated when switching into
and out of edit mode;
Moved <style> def for .location-item in object-inspector.html into .scss;
2016-01-08 16:47:11 -08:00
898dd557e5 [Frontend] Refactor to use s-status-editing instead of ng-class
open #468
Remove ng-class statements in favor of upstream .s-status-editing;
Restructure CSS accordingly;
NOTE: because edit.html has NOT been changed,
changes here will cause old edit mode to no longer display properly.
Don't integrate this CSS with old edit mode!
2016-01-08 16:11:00 -08:00
ed454df97d [API Refactor] Uncomment out erroneous change 2016-01-08 15:45:30 -08:00
2665e55e59 [API Refactor] Include top-level main.js
...in Maven-based build.
2016-01-08 15:37:46 -08:00
0036974c60 Merge remote-tracking branch 'github/master' into open450b
Merge latest from master branch to reconcile conflicts
for https://github.com/nasa/openmctweb/pull/469

Conflicts:
	platform/commonUI/general/bundle.json
2016-01-08 15:36:10 -08:00
cec197f888 [API Refactor] Remove bundle.json files 2016-01-08 15:32:18 -08:00
cacc295524 [API Refactor] Move rebundle script
...out of top-level, into a scripts directory.
2016-01-08 15:29:58 -08:00
3bf2819c07 [API Refactor] Ignore target when linting 2016-01-08 15:04:54 -08:00
ed63e326fe [API Refactor] Update documentation
...to reflect new manner in which tests are run.
2016-01-08 14:55:37 -08:00
77e39f2882 [API Refactor] Test legacy bundle registry 2016-01-08 13:38:28 -08:00
df631ba40e [API Refactor] Update failing specs 2016-01-08 12:58:06 -08:00
65c0cc66b6 [API Refactor] Add HTML reporting
Write HTML reports of test successes/failures to simplify
handling of test failures; pre-existing HTML test runner
is incompatible with changes to the way bundles are loaded.
2016-01-08 12:57:22 -08:00
aa63308e0b [API Refactor] Fix JSLint failures
Fix JSLint failures by excluding top-level code,
and by explicitly declaring variable require.
2016-01-08 12:36:48 -08:00
82094477a3 [API] Run npm tests during maven build 2016-01-08 12:10:42 -08:00
39c1a885d8 [API] Enable code coverage
Enable code coverage reporting from npm-executed tests.
2016-01-08 12:06:12 -08:00
72c721b605 [API] Remove bundles.json
...and make its usage optional.
2016-01-08 09:54:02 -08:00
1443ab61e3 [API] Obey strict DI from FormController 2016-01-08 09:42:38 -08:00
2b4d6c111c [API] Fix logging of paths
When extensions have an explicitly-declared implementation,
do not log that they are being loaded.
2016-01-07 16:06:04 -08:00
7728d308f2 [API] Obey strict DI rules
Fix unintended implicit DI usage in  configuration
2016-01-07 16:03:36 -08:00
9babe7167e [API] Enable strict DI
...to facilitate detection of any issues with
optimizability of legacy support for imperative
registration.
2016-01-07 15:56:09 -08:00
52579fefe1 [API] Simplify RequireJS config 2016-01-07 15:29:19 -08:00
de53247d56 [API] Convert JSON bundles to imperative form 2016-01-07 15:08:08 -08:00
786f9febe4 [API] Declare libs upfront
Declare external dependencies up-front in RequireJS
config; avoids problems due to changes in ordering
(since RequireJS config may be modified by bundle
contents.)
2016-01-07 15:07:25 -08:00
29acbfdb9c [API] Ensure uniqueness of impls when rebundling
Avoids redundant argument names in generated JS files.
2016-01-07 15:06:30 -08:00
5bbbdd4e50 [API] Fix explicit implementation assignments 2016-01-07 15:01:57 -08:00
4ed1836ae5 [API] Allow implementations to be passed directly
Allow implementations to be passed in as values,
instead of strings, facilitating the loading of
said implementations via RequireJS.
2016-01-07 15:01:39 -08:00
82990152d7 [API] Depend on bundles via AMD 2016-01-07 15:01:28 -08:00
8d3aec02d6 [API] Include dependencies during rebundling 2016-01-07 15:00:51 -08:00
792fda48e3 [API] Fix whitespace of bundle rewrites 2016-01-07 10:45:00 -08:00
9ebafa157b [API] Add temporary bundle-rewriting script 2016-01-07 10:42:08 -08:00
612dd7db2c [API] Expose browse through legacy registry 2016-01-06 17:54:56 -08:00
b87dd5def6 [API] Fix paths for legacyRegistry 2016-01-06 17:50:05 -08:00
9cc03123b1 Merge pull request #402 from nasa/open209
[Clocks/Timers] Update code style
2016-01-06 14:07:15 -08:00
a6ecda9cab Resolved conflict 2016-01-06 14:06:28 -08:00
b20488e77d Merged conflict 2016-01-06 14:05:40 -08:00
05a909f66f Merge pull request #451 from nasa/open116
[Time Conductor] Improve test coverage
2016-01-06 13:26:33 -08:00
2436c32e6d [Time Conductor] Split test cases
Verify table structure separately from table contents
per code review feedback,
https://github.com/nasa/openmctweb/pull/451/files#r48999214
2016-01-06 13:00:16 -08:00
a39e8e44f0 [API] Load bundles from imperative registry 2016-01-06 11:22:44 -08:00
02c984a0bc Merge pull request #69 from nasa/api-redesign
[API] API Redesign Goals and Proposals
2016-01-06 11:21:05 -08:00
65fb5ab2a5 [API] Move angular dependency inward 2016-01-06 11:15:36 -08:00
01772e4020 Merge pull request #452 from nasa/open1400
[Common UI] Test mct-split-pane, mct-splitter
2016-01-06 11:11:27 -08:00
76aa9e1fd2 [API] Add legacy bundle registry 2016-01-06 11:05:41 -08:00
9f66f39d8d [API] Add a top-level main.js
...which can depend upon the bundle registry, as well
as a set of installed bundles.

https://github.com/nasa/openmctweb/issues/450
2016-01-06 10:59:21 -08:00
fdc875379f [API] Refactor out application initialization
...to simplify insertion of an imperative bundle registry,
WTD-450.
2016-01-06 10:44:53 -08:00
019e04f9ab Merge pull request #434 from nasa/open433
[Documentation] Code example in bar graph tutorial incorporates text from the following paragraph
2016-01-05 16:46:31 -08:00
668b508bb8 [API] Add links to related issues 2016-01-05 16:37:24 -08:00
7d24c5319b [API] Bring in consensus
Bring over tables indicating consensus/decisions about
proposed API changes from
https://github.com/nasa/openmctweb/issues/263
2016-01-05 16:10:57 -08:00
83bdf7343d [Common UI] Test mct-splitter
WTD-1400
2016-01-05 10:14:25 -08:00
46e524a3b6 [Common UI] Begin testing mct-splitter
WTD-1400
2016-01-04 14:25:43 -08:00
22b7bb07aa [Common UI] Add mct-split-pane test cases
...sufficient for full line coverage. WTD-1400
2016-01-04 12:19:33 -08:00
7a25733be0 [Common UI] Remove obsolete split-pane container
Remove obsolete split-pane container and associated
controller; this behavior is now handled by the
mct-split-pane directive.

Part of updates to tests for the mct-split-pane
directive, WTD-1400
2016-01-04 11:34:24 -08:00
b9146fbeac [Time Conductor] Test TelemetryHandle.getDatum
Test ability to look up datum object by index (used to
support evaluation of limit state in Fixed Position and
similar single-value views while time conducting.)
2015-12-30 10:23:02 -08:00
a49deb5ab1 Merge remote-tracking branch 'github/master' into open116
Merge in latest from master into topic branch for
https://github.com/nasa/openmctweb/issues/116

Conflicts:
	platform/features/layout/test/FixedControllerSpec.js
	platform/features/plot/test/PlotControllerSpec.js
2015-12-30 10:15:05 -08:00
9b63a63efc Merge pull request #379 from nasa/open1337
[Limits] Add test cases for limits
2015-12-30 10:11:27 -08:00
2358541d91 [Time Conductor] Update RangeColumn spec
Update RangeColumn spec. Changes appear to have been related
to limits (WTD-1337), but making changes in the context of
updating tests for time conductor,
https://github.com/nasa/openmctweb/issues/116
2015-12-30 10:10:23 -08:00
38b5756d8d [Time Conductor] Verify plot bounds retention
Verify that the domain axis of a plot retains bounds from
the time conductor, instead of doing its default behavior
of fitting to the data.
2015-12-30 10:04:04 -08:00
c436bcce0a [Time Conductor] Test updated fixed position behavior
Verify interactions from FixedControllers on events
issued by the time conductor.
2015-12-30 09:29:24 -08:00
8e68914b56 Merge pull request #412 from nasa/open228
[Documentation] Add text to main page #228
2015-12-30 09:05:30 -08:00
f0a5a836d6 Merge pull request #421 from nasa/open336
Review and integrate open336
2015-12-30 09:04:21 -08:00
2b0f6dd577 Merge pull request #437 from nasa/open431
Review and integrate open431
2015-12-30 09:02:42 -08:00
30fec7c2ac [Time Conductor] Test mct-click-elsewhere 2015-12-29 15:37:09 -08:00
3f4ed46c1c [Time Conductor] More tests for date-time picker
Sufficient for 100% line coverage.
2015-12-29 15:26:18 -08:00
ba4c66866c [Time Conductor] Add tests for date-time picker 2015-12-29 13:59:06 -08:00
fcee30c27e [Mobile] Test agentService.isTouch 2015-12-29 12:58:24 -08:00
560825cc86 [Mobile] Test DeviceMatchers 2015-12-29 12:55:17 -08:00
2df61998ab [Mobile] Detect touch support 2015-12-29 12:43:46 -08:00
91b42fc0cc [Mobile] Test DeviceClassifier 2015-12-29 12:41:38 -08:00
5eac0bc5d9 [Mobile] Include classifier as runs extension
...to ensure that body gets device-related classes applied
when the application starts.
2015-12-29 12:02:03 -08:00
d397f0f283 [Mobile] Add classes to body
Add classes describing device characteristics to the
body of the current document at start-up. Refactor
device matchers out of the mct-device directive for
reuse and consistency here.

https://github.com/nasa/openmctweb/issues/169
2015-12-29 11:59:41 -08:00
0aae2c7b2c [API Redesign] Add clarifying comments 2015-12-24 15:50:28 -08:00
b5d7dbc088 [API Redesign] Add notes about 1.0.0 release
Particularly, closing API-related issues; need for this
mentioned at
https://github.com/nasa/openmctweb/issues/264#issuecomment-165921056
2015-12-24 15:21:14 -08:00
5921883325 [API Redesign] Add activity diagram 2015-12-24 15:13:44 -08:00
75d7240476 [API Redesign] Complete text of refactoring plan 2015-12-24 14:07:04 -08:00
9d71715c43 [API Redesign] Begin planning API Refactoring
https://github.com/nasa/openmctweb/issues/264
2015-12-24 13:54:14 -08:00
b986a0a38d Address decorability of role validation 2015-12-22 14:33:33 -08:00
0d2b5160ac Add section on roles 2015-12-22 13:15:00 -08:00
c99b6df9fc Update description of imperative plugins 2015-12-22 12:34:51 -08:00
9c4c020f54 [Build] Bump version number
Bump version number, add SNAPSHOT status to start
sprint Bradbury.
2015-12-18 12:36:47 -08:00
08c4302011 [Build] Bump version number to close release 2015-12-18 12:21:11 -08:00
5f96861c44 [Duplicate] Handle single-element ID arrays
Avoid type coercion related errors when testing to
see if a value is an ID that needs to be remapped.
2015-12-17 15:10:15 -08:00
995d71f901 [Duplicate] Add test case
Add test case for single-element string arrays, to
replicate bug around type coercion.

https://github.com/nasa/openmctweb/issues/444
2015-12-17 15:07:16 -08:00
82e4a53472 Merge remote-tracking branch 'github-open/open-warp1596b' into open-master 2015-12-17 14:20:18 -08:00
e7a41061c6 [Frontend] Hiding filter input in autoflow element when in Layout
open #425
(cherry picked from commit 119613e)
2015-12-17 14:11:39 -08:00
4848a61e21 Merge pull request #439 from nasa/open428
Fixed bug in copying #428
2015-12-17 13:55:55 -08:00
6302e45c10 Fixed bug in copying #428 2015-12-17 13:47:31 -08:00
451157b653 Merge pull request #432 from nasa/open426
Review and integrate open426
2015-12-17 13:38:45 -08:00
ae89a169d0 [Frontend] s-status-pending sanding and polishing
open #431
Cleanups, comment removal; Inspector location items
with s-status-pending tweaked;
Fixed grid-item background class;
2015-12-17 12:24:57 -08:00
941d0d0057 [Frontend] Tree sanding and polishing
open #431
Fixed vertical margins problem in tree and search results;
2015-12-17 10:49:39 -08:00
0296cfe3c1 [Frontend] Mobile sanding and polishing
open #431
Fixed hiding of "search by type" in phone only;
Fixed search-input magnify glass z-index value;
Fixed tree search results heights;
2015-12-17 10:21:06 -08:00
f55168d1ac Merge remote-tracking branch 'github-open/open-warp1596' into open-master 2015-12-17 09:39:38 -08:00
3c4fb8c43d [Frontend] Final final sanding on label flex-box conversion
open #431
Tweaks for labels in Inspector;
2015-12-16 17:38:02 -08:00
ed7e16d341 [Frontend] More sanding on label flex-box conversion
open #431
Moved object-label classes into their own include;
Fixing object-label in edit Elements pool and
Inspector; mixin refactoring;
2015-12-16 17:32:43 -08:00
9dc958b952 [Frontend] Final sanding on label flex-box conversion
open #431
Fixed positioning for l-icon-link when applied to
inspection-location object;
2015-12-16 16:49:16 -08:00
ed3ee1099d [Frontend] Final sanding on adding s-status-pending
open #431
Italicized text; Comments cleaned up;
To-do: fix regressed label elements in Inspector;
2015-12-16 16:38:06 -08:00
7fb506d4df Merge branch 'open431' of https://github.com/nasa/openmctweb into open431 2015-12-16 16:10:06 -08:00
67707678a8 Merge branch 'master' of https://github.com/nasa/openmctweb into open431 2015-12-16 16:08:23 -08:00
930b13f9a0 [Frontend] Added s-status-pending spinner to tree-item
open #431
Refinements of tree item sizes and spacing;
Polished spinner-related classes;
Moved l-icon-link icon into -glyph element;
2015-12-16 16:06:31 -08:00
b59fc43038 [Frontend] Converting tree items and labels to flex-box
open #431
Mobile fixes complete;
2015-12-16 14:52:19 -08:00
4579b4fabc [API] Remove orphan paragraph, update spacing 2015-12-16 13:29:42 -08:00
9b32461240 [Frontend] Converting tree items and labels to flex-box
open #431
In-progress fixing mobile;
Mostly done, link icon in mobile needs
better positioning;
2015-12-16 13:26:30 -08:00
7dc067741b [API] Add Proposals and feedback
Add proposals interspersed with narrative.  As with all proposals, there is
room for details to be fleshed out.

https://github.com/nasa/openmctweb/issues/261
2015-12-16 12:58:07 -08:00
d1f617a54e [Frontend] Converting tree items and labels to flex-box
open #431
In-progress fixing mobile;
Removed desktop and mobile-specific hide/show;
2015-12-16 11:50:46 -08:00
c4f99a6cab Merge pull request #435 from nasa/open428
[Copy] Duplication of layouts does not retain position and size of all elements. #428
2015-12-16 11:45:22 -08:00
83e77303aa [Copy] Duplication of layouts does not retain position and size of all elements. #428 2015-12-16 11:11:20 -08:00
29a1c7dc5d [Documentation] Code example in bar graph tutorial incorporates text from the following paragraph #433 2015-12-15 21:58:21 -08:00
65a1d7495d [Frontend] Converting tree items and labels to flex-box
open #431
In-progress;
TO-DO: need to fix mobile styles!
2015-12-15 18:17:06 -08:00
a98ab958c9 [Frontend] Adding s-status-pending classes to tree item labels
open #431
In-progress;
2015-12-15 17:06:47 -08:00
6e1cadf338 [Frontend] Fixed splitter and related elements when collapsed
open #426
Adds CSS to turn off pointer-events for the splitter, treeview
and inspect elements when they are in a collapsed state;
2015-12-15 15:47:32 -08:00
83a9b984e5 [Frontend] Recompile CSS after integration of open1596
open #425
warp#1596
Recompile CSS after integration of cherry-pick from open1596;
2015-12-14 15:28:48 -08:00
978df93ffd [Frontend] Cherry-picking platform CSS mods for autoflow view
warp #1596
open #425
Changes to autoflow styles, particularly in header;
Cleanup in effects.scss; CSS to be re-compiled;
(cherry picked from commit 5848077)
2015-12-14 15:22:08 -08:00
4e5cefbf03 Merge pull request #418 from nasa/open341
Review and integrate open341
2015-12-14 10:41:07 -08:00
cf73f3a0c4 Moved gesture from individual views up to browse-object.html for now to resolve #423 2015-12-11 16:42:05 -08:00
367d1b0247 [Edit] Drag-drop on folder triggers edit mode #420 2015-12-11 16:14:00 -08:00
33b1c1689c [Frontend] Added classes for no-collapse indicator
open #304
Added classes string and related classes to ClockIndicator;
2015-12-11 15:49:50 -08:00
0cfc070f3c Merge pull request #394 from nasa/open332
[Duplicate] Rewrite identifiers in clones
2015-12-11 15:06:34 -08:00
21fd16ddf1 [Frontend] Delay added to expanded status indicator collapse
open #336
2015-12-11 15:02:10 -08:00
24d28d6ec2 [Frontend] Fixed z-index problem with child-frames
open nem_prototype
open #341
Added discrete z-index definition for frame.child-frame.panel;
2015-12-11 14:47:25 -08:00
ce94db0a4b Merge pull request #415 from nasa/open228b
[Documentation] Tweak spelling / phrasing
2015-12-11 12:08:12 -08:00
0d894a9f39 [Documentation] Tweak spelling / phrasing
* Add spaces to 'Open MCT Web' for consistency
* Use term 'platform' instead of 'framework' for consistency
  with the developer guide
* Avoid the term 'capabilities' (could be ambiguous in the context
  of other documentation)
* Use canonical casing for JSDoc and JavaScript
* Simplify phrasing of first sentence
* Change casing of 'Developer Guide' for consistency with
  other bullets

From review of https://github.com/nasa/openmctweb/pull/412
2015-12-11 11:54:23 -08:00
5ad150a17e Merge pull request #413 from nasa/open411
[Documentation] Fix type declaration
2015-12-11 11:28:38 -08:00
b6acdb12ec Removed superfluous function 2015-12-11 11:13:00 -08:00
604b29096d [Documentation] #228 added inline comment about TOC suppression 2015-12-11 11:13:00 -08:00
6200ceddf8 [Documentation] Add text to main page #228 2015-12-11 11:12:42 -08:00
de88bf94d4 [Documentation] Fix type declaration
Rephrase parameter type to something JSDoc can parse.

https://github.com/nasa/openmctweb/issues/411
2015-12-11 10:51:16 -08:00
0ce19ad75d Disabled context menu for Location items in edit mode, and disabled context menu items for non-creatable objects 2015-12-10 17:39:56 -08:00
b32eb363f1 Fixed edit action and editable view policies for NEM 2015-12-10 16:53:25 -08:00
02e89f9c73 Merge branch 'open320' into nem_prototype 2015-12-10 14:39:34 -08:00
5cc80c737c Updated editable view policies 2015-12-10 14:39:22 -08:00
8c837c5f81 Simplified logic in EditableActionCapability 2015-12-10 14:09:56 -08:00
f96fa33d88 Removed some additional context menu options 2015-12-10 13:49:05 -08:00
67d19f9c5f modified heroku definition for new branch name 2015-12-10 10:28:20 -08:00
ac379dbb3f [New Edit Mode] Create menu still visible when edit mode initiated by pressing create #407 2015-12-10 10:25:38 -08:00
5fd762fea9 Fixed problem with unload warning being shown when it shouldn't 2015-12-09 21:04:22 -08:00
322db5a0f5 Tweaked object creation 2015-12-09 20:57:23 -08:00
708aa7dcba Updated check for edit mode on create 2015-12-09 20:37:15 -08:00
1e7964855a resolved heroku issues finally 2015-12-09 19:58:14 -08:00
a236ba40ba heroku 2015-12-09 19:49:59 -08:00
5981a743ce Grr, fixing heroku 2015-12-09 19:48:22 -08:00
3b22c6ed10 Reverted heroku deployment change 2015-12-09 18:51:23 -08:00
2114066462 Small heroku deploy change 2015-12-09 18:50:56 -08:00
a399b78d2c Fixed JSLint errors 2015-12-09 18:39:57 -08:00
39b3e6c4a9 [Edit Mode] Limit context menu options available for objects in edit mode
[Edit Mode] Edit mode on objects that do not have a view supporting editing should edit properties instead. #320
2015-12-09 18:14:17 -08:00
2145bcf908 Re-enabled plots and scrolling 2015-12-09 17:25:48 -08:00
de256835fd [Edit Mode] Edit mode on objects that do not have a view supporting editing should edit properties instead. #320 2015-12-09 15:51:00 -08:00
2ca414d2a4 [New Edit Mode] Selecting 'Go To Original' from elements pool navigates without prompting user to save changes #396 2015-12-09 15:23:26 -08:00
856c61816c Go to original now shows prompt 2015-12-09 14:08:19 -08:00
8077cdb834 [Clocks/Timers] Make $scope available
...to methods of TimerController
2015-12-09 12:41:29 -08:00
7871af07c4 [Clocks/Timers] Fix parent constructor invocations 2015-12-09 12:40:21 -08:00
714ae3b9dc [Clocks/Timers] Update remaining classes
Complete code style changes for Clocks/Timers.
2015-12-09 12:39:01 -08:00
27fa56d838 [Clocks/Timers] Update code style for controllers 2015-12-09 12:33:11 -08:00
e30a82432d [Clocks/Timers] Update code style for actions
https://github.com/nasa/openmctweb/issues/209
2015-12-09 12:17:32 -08:00
3d346b8906 Merge pull request #393 from nasa/open199f
Review and integrate open199f
2015-12-09 10:18:56 -08:00
3730315388 [Frontend] Fixed hidden Create menu regression error
open #199
open #278
2015-12-09 10:11:44 -08:00
6058e50216 JSLint fixes 2015-12-09 10:04:49 -08:00
49579378dd [New Edit Mode] Fixed positioning of dropped objects #386 2015-12-09 09:51:00 -08:00
19f07aa398 [Duplicate] Add trailing newline 2015-12-08 16:34:36 -08:00
aae8f1575d Disabled drop gesture on browse-object to prevent drop being triggered twice 2015-12-08 16:28:30 -08:00
46f9b31cff [Duplicate] Test rewriting of identifiers 2015-12-08 16:27:46 -08:00
267bcfeb8b [Frontend] Hide Create button when editing
open #199
open #278
Hides Create button when s-status-editing applied;
Adds margin to search-bar input element when
Create button is hidden per above;
2015-12-08 15:54:32 -08:00
e32feb29e2 [Duplicate] Rewrite identifiers in clones
Traverse object models of clones and rewrite domain object
identifiers that have changed during duplication.

Addresses https://github.com/nasa/openmctweb/issues/332
2015-12-08 15:45:45 -08:00
b5c741c911 Merge branch 'master' into open199 2015-12-08 15:42:37 -08:00
773cedddd5 Recompiled css 2015-12-08 15:37:22 -08:00
89a93e2966 Merge remote-tracking branch 'github-open/open384' into open-master 2015-12-08 15:18:21 -08:00
55ea7a285e Merge remote-tracking branch 'origin/open199e' into open199 2015-12-08 15:17:36 -08:00
4419a101d6 [New Edit Mode] #199 Disabled all failing tests 2015-12-08 15:15:54 -08:00
038322e9aa [Layout] Update raw positions on drop
When handling a drop into the layout, store the panel's
new position to the LayoutController's internal table of
raw positions (in addition to writing it to the configuration.)

Avoids https://github.com/nasa/openmctweb/issues/384
2015-12-08 15:08:30 -08:00
4b7287e51e Fixed JSLint errors 2015-12-08 14:51:25 -08:00
6502d36c7a [Frontend] Migrated to s-status-editing
open #199
open #278
Changed CSS to use s-status-editing instead of .active
class;
Refined style defs to explicitly target tree and
search-results children in order to avoid items in
Inspector Elements pool from being designated as
being edited;
Removed {{searchText}} div from input-filter;
2015-12-08 14:16:54 -08:00
4fbf547bfc Corrected merge issues from Master 2015-12-08 14:07:32 -08:00
6cef663db5 [Representation] Add ending newline 2015-12-08 13:43:41 -08:00
b2f5861458 [Representation] Test template prefetcher 2015-12-08 13:29:11 -08:00
f8809ce67f [Representation] Also prefetch containers 2015-12-08 13:06:24 -08:00
3c97eb6014 [Representation] Remove obsolete template definition 2015-12-08 12:59:41 -08:00
3498b0a50a [Representation] Prefetch templates
...to ensure that dialogs et al can be displayed, even
after loss of network connectivity.

https://github.com/nasa/openmctweb/issues/383
2015-12-08 12:59:18 -08:00
18607e9404 Merged from Master 2015-12-07 20:42:09 -08:00
14c5a817a7 [Limits] Test exposure of datum
...which will be used to evaluate limits.
2015-12-07 13:22:40 -08:00
258c5d95e6 [Limits] Test PlotLimitTracker 2015-12-07 12:58:56 -08:00
30a8ba5c11 [Limits] Test limit usage in PlotController
WTD-1337
2015-12-07 12:45:40 -08:00
33c372765f [Limits] Test limit usage from Fixed Position
WTD-1337
2015-12-07 12:33:29 -08:00
ed7e0d8b0a Merge pull request #376 from nasa/open169b
Review and integrate open169b
2015-12-04 16:29:32 -08:00
f3828ba516 [Frontend] Adjusted desktop breakpoint
open #169
2015-12-04 15:55:32 -08:00
2a48c25453 Merge pull request #375 from nasa/open137
Show warning for unsupported browsers
2015-12-04 15:43:23 -08:00
096da0cb94 Merge pull request #347 from nasa/open259b
[Time Conductor] Don't update model while typing (v2)
2015-12-04 15:34:03 -08:00
ca8a07e1ae Merge remote-tracking branch 'github/open169a' into open169b 2015-12-04 15:33:49 -08:00
c02f965460 [Time Conductor] Remove unused property
...from structure passed into date-time field. Note in
code review, https://github.com/nasa/openmctweb/pull/347
2015-12-04 15:19:34 -08:00
5f440bb6de Merge pull request #372 from nasa/open58_notification
[Persistence] Errors in persistence (after creating/modifying objects) should be visible to user #58
2015-12-04 15:15:29 -08:00
fc729279ec [Common UI] Add spec for unsupported browser warning 2015-12-04 15:11:40 -08:00
dd0f9ab74e Merge pull request #349 from nasa/open1573
[Documentation] Document test process
2015-12-04 14:34:59 -08:00
d2a4a85e04 [Common UI] Test agentService.isBrowser 2015-12-04 14:12:00 -08:00
37890280ae [Common UI] Only show warning for unsupported browsers 2015-12-04 14:08:42 -08:00
a6ceae4045 [Common UI] Show warning at startup
Show a warning about unsupported browsers at startup,
https://github.com/nasa/openmctweb/issues/137
2015-12-04 13:53:45 -08:00
3447e735dc Merge pull request #362 from nasa/open346
[Entanglement] Add "Set Primary Location" action
2015-12-04 13:48:27 -08:00
989c937ce1 [Documentation] Fix typo in HTML entity 2015-12-04 13:29:19 -08:00
e0608ddee0 [Documentation] Simplify Author Checklist
...as discussed in https://github.com/nasa/openmctweb/pull/349
2015-12-04 13:25:20 -08:00
b35224061f Merge pull request #374 from nasa/open305
[Edit] Return a promise from editable persistence capability
2015-12-04 12:44:08 -08:00
b25576aed8 [Documentation] Sketch initial test procedures
Sketch initial test procedures; add explanation on the difference between
sprint and release testing.
2015-12-04 12:20:05 -08:00
d5f054e328 [Edit] Test return type
...from the edit-mode-wrapped persistence capability.
2015-12-04 11:20:19 -08:00
eb4959cf49 [persistence] #58 renamed alertService to notificationService 2015-12-04 10:45:49 -08:00
cce415fc51 Merge pull request #371 from nasa/open338
#338 [Copy] Copying an object with telemetry from the data dictionary results in a number of unknown objects in copied tree
2015-12-04 09:46:24 -08:00
00f96c314a [persistence] #58 added tests for notification on persistence error 2015-12-03 20:32:03 -08:00
fefd27162c [Entanglement] Allow cross-space linking
Allow links across spaces; only disallow move or copy.
Addresses WTD-1587
2015-12-03 20:32:03 -08:00
b388c76e45 [copy] #338 Modified check to set object location, added setLocation flag, Removed unused parameter 2015-12-03 19:00:44 -08:00
aaeaf3a096 Merge pull request #370 from nasa/open369
[Performance] Fix usages of $interval
2015-12-03 18:31:17 -08:00
57efe4e0d1 Removed UUID reference 2015-12-03 17:10:28 -08:00
dd4dbc9326 [Performance] Update spec for ElasticIndicator
...to reflect changes in  call to reduce digest frequency.
2015-12-03 16:45:30 -08:00
6aa77ff468 #338 fixed failing test 2015-12-03 16:41:06 -08:00
f8099550bd [Copy] #338 updated code style in CreationPolicy 2015-12-03 16:22:45 -08:00
96249e6bcc Removed redundant line in test spec 2015-12-03 15:51:27 -08:00
6e391098a3 Fixed jslint error 2015-12-03 15:32:26 -08:00
baec0f9719 #338 added new test case for creation of links when object type is not createable 2015-12-03 15:28:07 -08:00
6aab9f4e34 Added test for linking 2015-12-03 14:47:42 -08:00
1bf73935e4 [Performance] Add test case for mct-split-pane 2015-12-03 13:56:57 -08:00
49e51d0a62 [Performance] Update mct-chart spec 2015-12-03 13:39:37 -08:00
3e7bc2f37f [Performance] Don't invoke apply from indicator
Don't invoke apply while polling from ElasticSearch
indicator; let the corresponding  request trigger
this.
2015-12-03 13:29:54 -08:00
0f56fd2561 [Performance] Only invoke apply on size changes
...as detected from mct-chart.
2015-12-03 13:28:32 -08:00
9f0114eb39 [Performance] Don't invoke apply from MCTSplitPane
Don't invoke apply on every  from MCTSplitPane
(this had been intended behavior, but argument was misplaced.)
2015-12-03 13:27:59 -08:00
4b82893c36 [Performance] Improve digests/sec indication
Don't let past digest counts bias current rate shown;
https://github.com/nasa/openmctweb/issues/369
2015-12-03 13:27:19 -08:00
734e979c94 #338 Fixed failing tests after refactor 2015-12-03 12:49:54 -08:00
983973843e Merge pull request #363 from nasa/open302
[Representation] Check full path when comparing domain objects
2015-12-03 10:01:35 -08:00
3b427c31a2 Fixed error with not properly referenced 2015-12-02 19:18:50 -08:00
cee0ecf0ef Removed use of composition and mutation because they trigger the search indexer too early and it tries to retrieve objects that have not been persisted yet 2015-12-02 19:10:10 -08:00
8e3c5db3bf #338 fixed incorrect 'allow' function specification in CreationPolicy 2015-12-02 14:14:04 -08:00
11d8daf3ed #338 Fixed incorrect specification of CreationPolicy in bundle.json 2015-12-02 14:07:08 -08:00
9953e16415 #338 Copy now using target persistence space 2015-12-02 14:06:22 -08:00
fe600de0f7 [Copy] #338 added CreationPolicy and appropriate tests, amended CreateActionProvider, and updated existing tests 2015-12-02 11:28:49 -08:00
386f1f20ff [Representation] Test switching between links
Add test case to verify that representation gets refreshed
when switching among two linked instances of the same
domain object.
2015-12-02 10:49:18 -08:00
5e07951892 [Representation] Handle missing context
Handle missing context when generating an ID path;
this is missing in the root object.
2015-12-02 10:23:11 -08:00
2514e44083 [Representation] Check full ID path
...when determining if a representation needs to be
refreshed. Avoids representations becoming stale
when switching or navigating among linked instances
of the same domain object.

https://github.com/nasa/openmctweb/issues/302
2015-12-02 10:21:00 -08:00
20d9c7158e Added jslint es5 mode 2015-12-01 22:40:50 -08:00
d8e319ebf8 Fixing jslint errors 2015-12-01 22:36:23 -08:00
a39cbbd917 Fixing jslint errors 2015-12-01 22:35:28 -08:00
8df27a1c05 Fixing jslint errors 2015-12-01 22:34:26 -08:00
26cf9c14f4 [Persistence] Errors in persistence (after creating/modifying objects) should be visible to user #58 2015-12-01 22:03:53 -08:00
03edd26e17 [Edit] Return promise from editable persistence
https://github.com/nasa/openmctweb/issues/305
2015-12-01 16:45:08 -08:00
571f6d183a [Entanglement] Expose Set Primary Location 2015-12-01 16:26:19 -08:00
1292e39c46 [Entanglement] Implement Set Primary Location 2015-12-01 16:20:30 -08:00
6fe3f82fb1 [Entanglement] Add test for Set Primary Location
https://github.com/nasa/openmctweb/issues/346
2015-12-01 15:59:37 -08:00
4798cb3e7c Merge pull request #360 from nasa/open283
Review and integrate open283
2015-12-01 13:21:51 -08:00
5fd55939a9 [Frontend] Fixed overflow problem that was hiding toolbar menu
open #199
open #283
Tweaks to .tool-bar layout to handle very
narrow widths;
2015-12-01 09:12:33 -08:00
472f6fefd4 Merge branch 'open199' of https://github.com/nasa/openmctweb into open199 2015-11-30 17:59:13 -08:00
4f3c9f270b [New Edit Mode Prototype] Hide edit button when in edit mode #350. - Modified edit policy to hide edit button when in edit mode 2015-11-30 17:58:58 -08:00
833ef82e67 Modified edit policy to hide edit button when in edit mode 2015-11-30 17:45:46 -08:00
da8fb99e82 [Frontend] Fixing bad breakpoints for tablet vs. desktop
open #169
2015-11-30 15:57:45 -08:00
c8d77bc2db [Entanglement] Allow cross-space linking
Allow links across spaces; only disallow move or copy.
Addresses WTD-1587
2015-11-30 15:27:10 -08:00
acb7d4b807 renamed variable 2015-11-30 09:35:44 -08:00
6fb6f54cfa Fixed objects being dropped twice in fixed layout 2015-11-27 15:21:24 -08:00
b5e52fce75 [Time Conductor] Remove redundant test block 2015-11-27 14:48:48 -08:00
3afcb52934 [Time Conductor] Use ng-blur from template 2015-11-27 14:35:51 -08:00
677b0cffec [Time Conductor] Test form isolation
Verify that form inputs are ignored until some explicit trigger
2015-11-27 14:33:35 -08:00
248bc68f0d [Time Conductor] Test restoration of old values
...and clarify name of the function in scope which does this.
2015-11-27 14:23:30 -08:00
9a42cb4f7e Merge branch 'open277' into open199 2015-11-27 14:16:59 -08:00
b573b3a681 Amended change so that context menu only suppressed on navigation menu 2015-11-27 14:16:37 -08:00
02050fa3ef [Time Conductor] Document ng-blur on mct-control 2015-11-27 14:02:16 -08:00
6558461fda Reverted changes after refactor 2015-11-27 13:05:55 -08:00
4b23e3fbcb Refactored changes to ContextMenuGesture.js 2015-11-27 13:02:19 -08:00
57d23c3696 [Time Conductor] Add missing license header 2015-11-27 12:37:51 -08:00
8babfc5ca9 [Time Conductor] Propogate blur from text field 2015-11-27 12:37:23 -08:00
271b5d1a73 [Time Conductor] Test choices via picker
...to ensure that they trigger blur events. Also, test changes
via text entry to ensure that they don't (the template is responsible
for this.)
2015-11-27 12:36:40 -08:00
7d4e7a0925 [Time Conductor] Allow ng-blur on mct-controls 2015-11-27 12:29:53 -08:00
92f5d5f190 [Documentation] Replace redundant docs with link 2015-11-27 12:00:25 -08:00
1731b985fc [Documentation] Fix broken markdown tag 2015-11-27 11:30:55 -08:00
bd4590ad9d [Documentation] Update terminology
Update terminology in Development Cycle to reflect
descriptions in Test Plan.
2015-11-27 11:22:11 -08:00
55fc60ec82 [Documentation] Describe long-duration testing 2015-11-27 11:15:13 -08:00
ab075e9ad8 [Documentation] Complete test plan 2015-11-27 11:08:47 -08:00
3ac1710d83 [Documentation] Document evaluation criteria
...for per-release and per-sprint testing. WTD-1573
2015-11-27 10:58:16 -08:00
730878938e [Documentation] Document pre-merge testing 2015-11-27 10:39:25 -08:00
3fd4304de1 Merge pull request #345 from nasa/open32
[Layout] Layout rebuilds after resize/reposition #32
2015-11-27 09:59:01 -08:00
db7224486c [Layout] Layout rebuilds after resize/reposition - Fixed potential race condition #32 2015-11-25 19:11:29 -08:00
424953c894 [Layout] Layout rebuilds after resize/reposition #32
- Refactored layoutPanels member function, and updated tests.
- Changed $scope.$watch to $scope.$watchCollection
2015-11-25 15:32:33 -08:00
6d0f3c7faa [Layout] Layout rebuilds after resize/reposition #32
Refactored layoutPanels method

Fixed JSLint errors

fixed failing tests
2015-11-25 15:30:33 -08:00
988323bdbd merged Open32 2015-11-25 14:59:47 -08:00
9eb8158c4e [Edit Mode] Disallow context menu actions on tree items during edit mode. #277 2015-11-25 14:44:31 -08:00
434a52ded3 [Build] Bump version number
...to begin work for new sprint.
2015-11-25 14:11:53 -08:00
2ec906e2d4 [Build] Remove snapshot status
Remove snapshot status in preparation to bump version number
at end of sprint Banks.
2015-11-25 14:10:48 -08:00
405daf36b2 [API] Add proposals about actions 2015-11-25 12:45:22 -08:00
75d4be290c Merge branch 'open278-proto' into open199-merge 2015-11-25 11:27:08 -08:00
3b9cd5f1ac Merge branch 'open279-proto' into open199-merge 2015-11-25 11:25:00 -08:00
ffff13205a [Time Conductor] Check for value changes
...on watches triggered from the picker. Only want to
trigger a submit when this actually constitutes a change from
the datetime field's underlying model (to avoid triggering
form submission when datetime picker is initialized.)
2015-11-25 11:21:51 -08:00
64a7647ec3 #279 Added search filter support to elements pool 2015-11-25 11:20:58 -08:00
16efd85dfc [Time Conductor] Submit immediately on picker changes 2015-11-25 11:16:31 -08:00
1ef09ffbdd [Time Conductor] Restore last valid values
Restore last valid values on blur, in a date-time entry field.
2015-11-25 11:12:41 -08:00
976ecce075 [Time Conductor] Update model on submit/blur 2015-11-25 11:09:11 -08:00
87a51a9eb3 [Time Conductor] Listen for blur, submit
https://github.com/nasa/openmctweb/issues/259
2015-11-25 11:02:03 -08:00
9ed10ba9da Merge branch 'open279-proto' into open199-merge 2015-11-25 10:47:21 -08:00
c211f413aa [New Edit Mode] Add Elements pool to New Edit Mode #279 2015-11-25 10:40:37 -08:00
268a2c2427 Merged from master 2015-11-25 09:04:11 -08:00
c84de00e80 [Layout] Layout rebuilds after resize/reposition #32 2015-11-24 21:51:10 -08:00
91997ced01 [Documentation] Define test levels 2015-11-24 17:08:59 -08:00
7a4be9e67e [Documentation] Add test procedure template 2015-11-24 15:56:02 -08:00
eb942b0bf7 [Documentation] Intermediary commit
Begin adding test plan, procedures. WTD-1573.
2015-11-24 13:08:59 -08:00
1cf23c7ad6 [Documentation] Rename development cycle
...as it will no longer be the index of the process
category as information about testing is added.
2015-11-24 10:57:52 -08:00
15ec9df538 Merge pull request #327 from nasa/open208b
[Timelines] Bring over CSS
2015-11-23 10:38:02 -08:00
d6e2895666 Merge pull request #257 from nasa/open245b
[Persistence] Support multiple persistence spaces
2015-11-21 07:13:54 -08:00
7974ffdda2 Merge remote-tracking branch 'github/master' into open245b
...in preparation to complete merge nasa/openmctweb#257

Conflicts:
	platform/entanglement/src/actions/CopyAction.js
	platform/entanglement/src/actions/LinkAction.js
	platform/entanglement/src/actions/MoveAction.js
2015-11-21 07:05:51 -08:00
d5858622ba [Persistence] Fix grammar in JSDoc
...and add some explanation of METHOD_DEFAULTS.
2015-11-21 06:59:12 -08:00
9656e09066 [Documentation] Clarify identifier syntax
...in plain English, for the humans.

Per code review in nasa/openmctweb#257
2015-11-21 06:52:19 -08:00
096fee8b6d Merge remote-tracking branch 'github/master' into open208b
Conflicts:
	platform/commonUI/themes/espresso/res/css/theme-espresso.css
	platform/commonUI/themes/snow/res/css/theme-snow.css
2015-11-21 06:42:45 -08:00
0635e7c38e [Timeline] Disambiguate datetime control
Timeline uses a custom date-time control on creation;
use a distinct key for this to avoid a naming collision
with platform's datetime. Addresses abnormal behavior
identified in nasa/openmctweb#208
2015-11-20 17:26:43 -08:00
845b1dcd6f Merge pull request #321 from nasa/open169
Review and integrate open169
2015-11-20 17:13:39 -08:00
2e959e8503 Revert "[Mobile] Deploy via CircleCI"
This reverts commit 49b3d67272.
2015-11-20 17:09:37 -08:00
e6c9cbf0cd [Persistence] Clarify JSDoc
Per code review feedback, nasa/openmctweb#257
2015-11-20 17:08:39 -08:00
fd3059b380 [Frontend] Final cleanups, tweaks; Refactored s-icon-btn
open #208
Unit tested in both themes;
.s-icon-btn refactored slightly to focus on usage
as an icon-only element, removed overlap designations
with .s-btn in markup;
Colors normalized for theming;
Code cleanup;
2015-11-20 16:47:04 -08:00
5a7349117a [Frontend] Cleanups to Timeline tabular label elements
open #208
Colors normalized for theming;
2015-11-20 16:27:26 -08:00
50134bbc7f [Frontend] Theming and cleanups in Clocks and Timers
open #208
Also converted timer to use flexbox layout;
2015-11-20 16:19:27 -08:00
3854df27d8 [Frontend] Styling on Timeline zoom buttons
open #208
Fixed in both themes;
2015-11-20 15:42:08 -08:00
fc53dbd8a4 [Frontend] Themes added to Timelines
open #208
Espresso and Snow now supported; bulk of
work done except for minor cleanups, like zoom
buttons; Dragging not working currently in Timelines;
2015-11-20 15:23:08 -08:00
7849803a5d Fixed cancel and drop-initiated edit 2015-11-20 14:00:29 -08:00
0263cf5407 Fixed cancel and drop-initiated edit 2015-11-20 13:59:32 -08:00
fb0ba0cff9 Merge pull request #323 from nasa/open251
Review and integrate open251
2015-11-20 13:30:24 -08:00
573e5608fc Merge pull request #319 from nasa/open-status-tracking
[Status] Add status tracking
2015-11-20 13:18:09 -08:00
37a7c2b1df Merge pull request #309 from nasa/open308
[Workers] Allow web workers to be shared
2015-11-20 11:40:26 -08:00
4f0f9e4104 Merge branch 'open-status-tracking' into open278 2015-11-20 11:28:06 -08:00
e6054b8252 #287 - modified to use s-status-editing, but CSS needed 2015-11-20 11:23:34 -08:00
38274728f6 [Workers] Update JSDoc
...per review feedback, nasa/openmctweb#309
2015-11-20 11:12:29 -08:00
49b3d67272 [Mobile] Deploy via CircleCI
...to enable testing of changes for nasa/openmctweb#169.
2015-11-20 11:05:25 -08:00
a864c172d5 [Edit Mode Prototype] #278 Added visual indication of edit 2015-11-20 10:07:58 -08:00
400b992ec3 [Status] Revise API
Change method names, add a getter to status capability;
per code review feedback, nasa/openmctweb#319.
2015-11-20 09:46:08 -08:00
de59f191b8 [Frontend] Relocating files
open #208
Moving initial files into new positions, based
on Victor's work in #242;
2015-11-20 09:14:07 -08:00
3d3b250536 Merge remote-tracking branch 'github/master' into open208 2015-11-20 08:38:19 -08:00
32815d8427 [Frontend] Markup and CSS fixes
open #251
Fixed markup and CSS to remove erroneously
applied "select" class;
Modified .select to not use overflow: hidden;
Better positioning for *-options elements;
2015-11-19 18:50:10 -08:00
10a44c026c [Edit Mode] Visual indication of object being edited #278 2015-11-19 18:45:18 -08:00
3e25d17702 [Mobile / Frontend] Modified media query device detection approach
open #169
Significant simplification of media query device detection
to focus on width only; tablet max-width and desktop
min-width modified to create gapless ranges;
2015-11-19 15:16:21 -08:00
9631d95a52 Merge remote-tracking branch 'origin/open-status-tracking' into open278-proto 2015-11-19 15:13:10 -08:00
4ea757faa5 Adding support for object status 2015-11-19 15:12:43 -08:00
b5d1118a3f [Status] Document status capability
...in the developer guide. Includes a table for listing
status names and classes, per code review feedback,
nasa/openmctweb#319.
2015-11-19 15:12:03 -08:00
50d83eaffb Merge remote-tracking branch 'origin/open278' into open278-proto 2015-11-19 14:50:01 -08:00
30e6980dc6 Merge branch 'master' into open199 2015-11-19 14:29:32 -08:00
5b9e43f8ff [Status] Test platform/status 2015-11-19 14:22:44 -08:00
19d2970e0e Merge in "create button initiates edit mode" 2015-11-19 14:13:28 -08:00
a04b3f8a4b enabled toolbar in edit mode 2015-11-19 14:01:38 -08:00
3ffa6f70aa [Status] Add empty specs 2015-11-19 13:47:39 -08:00
0d07c3c289 [Status] Clean up classes when destroyed 2015-11-19 13:44:06 -08:00
29fdb6d641 [Status] Add JSDoc 2015-11-19 13:43:18 -08:00
b06a38da2f Fixed incorrect case 2015-11-19 13:17:14 -08:00
f45e236281 #286 Fixed issues with composition not surviving through create wizard 2015-11-19 13:11:01 -08:00
0fa6cbfc18 [API] Propose contextual DI 2015-11-19 13:02:03 -08:00
2e2b18eaa5 [Edit Mode Prototype] Create button initiates edit-mode immediately #286 2015-11-19 10:33:44 -08:00
ee86209166 Merge branch 'open278' of https://github.com/nasa/openmctweb into open278 2015-11-18 17:29:18 -08:00
9f5729dbbc Merge remote-tracking branch 'github/master' into open278 2015-11-18 17:28:31 -08:00
de9e41818b [Frontend] File cleanup
open #199
open #278
Comments and empty CSS classes removed;
2015-11-18 17:27:56 -08:00
39d007470a [Status] Active platform/status bundle 2015-11-18 17:23:31 -08:00
285c8cbd1e [Status] Add status tracking
Add status tracking for domain objects, and decoration of
representations with status-related classes. Supports WTD-1575
by allowing pending state of taxonomy to be handled by
status tracking and custom CSS, instead of by overriding platform
templates.
2015-11-18 17:22:38 -08:00
3478f9d861 [Frontend] File cleanup
open #199
open #279
Comments and empty CSS classes removed;
2015-11-18 17:15:13 -08:00
558ad94b91 [Frontend] Synced theme constants
open #199
open #279
Theme constants files needed to be synced
to facilitate more efficient comparison;
2015-11-18 17:06:18 -08:00
c2e26b3555 [Frontend] Fixed magnify glass in search input
open #199
open #278
Fixed z-indexing problem in :before elements
in search input (magnify glass, etc.);
2015-11-18 16:48:13 -08:00
c5c166c790 [Frontend] Refinements to active edit styles
open #199
open #278
Picking up missed rendered CSS;
2015-11-18 16:47:36 -08:00
cc7df05a43 [Frontend] Refinements to active edit styles
open #199
open #278
Styling finalized for tree/search items;
Mods to pulse mixins;
Colors for both themes finessed and finalized;
2015-11-18 16:46:56 -08:00
a7f277b0d2 Merge pull request #317 from nasa/open316
[bug] TypeImpl.getInitialmodel should always return a fresh (ie. cloned) model.
2015-11-18 12:21:23 -08:00
5ced8e655d [bug] #317 Added jsdoc note about performance 2015-11-18 12:14:00 -08:00
4de7b7dfb5 Merge pull request #288 from nasa/open218
[Plot] Support domain/range switching
2015-11-18 11:54:13 -08:00
a9518e9890 [Telemetry] Add missing JSDoc
...for new parameters added to support domain/range switching
in plots, per code review on nasa/openmctweb#288
2015-11-18 10:50:32 -08:00
4ed35cddde Merge pull request #272 from nasa/open120
[Actions] Avoid suppression of context menus
2015-11-17 16:27:17 -08:00
b9cd26aaf6 [Frontend] Styling for tree item when its being edited
open #278
Work in progress
2015-11-17 16:04:41 -08:00
5882278f98 Bringing in latest NEM work from open199-meet-open279 2015-11-17 15:26:11 -08:00
40b21e35fd Fixed jslint error 2015-11-17 15:03:17 -08:00
2251a0c1e9 https://github.com/nasa/openmctweb/issues/287 2015-11-17 15:01:13 -08:00
3a36389815 Fixed test 2015-11-17 14:45:10 -08:00
ba669f1395 Merge branch 'open316' into open199 2015-11-17 14:31:06 -08:00
b27b60aedc Merge branch 'master' into open199 2015-11-17 14:30:57 -08:00
606667eb4d [bug] TypeImpl.getInitialmodel should always return a fresh (ie. cloned) model. #316 2015-11-17 14:30:34 -08:00
90c06cfc97 [Frontend] Style tweaks for edit mode
open #199
Added bg color in edit area when edit mode
is active; Added to-do for ng-init in
object-inspector.html;
Ready for integration into open199;
2015-11-17 12:44:14 -08:00
ec4c5864dc [Frontend] Style tweaks for edit mode
open #199
Added bg color in edit area when edit mode
is active;
2015-11-17 12:35:44 -08:00
3ff275c853 [Frontend] Sanding and shimming styles for Elements pool
open #199
open #279
Also tweaked bg color of text inputs;
2015-11-17 12:20:14 -08:00
cd3bdf4f81 Change to navigate by location change 2015-11-16 17:45:31 -08:00
a8d563975a [Frontend] Refinements to Inspector elements, search inputs
open #199
open #279
Treeview indent removed;
Significant refactoring of search classes to generalize
approach to search inputs;
2015-11-16 17:20:15 -08:00
ef5a26dfcc [Documentation] Specify default value
...for shared property of workers.
2015-11-16 16:16:22 -08:00
966e993c5d [Frontend] Merge work in open279 into open199
open #199
open #279
Fixed margin problem in mobile with
object-browse-bar element;
2015-11-16 15:20:43 -08:00
8363302caf [Workers] Allow web workers to be shared
Support an additional flag in the  extension category
such that SharedWorkers may be used. nasa/openmctweb#308.
2015-11-16 15:16:44 -08:00
9b5d894949 [Frontend] Merge work in open279 into open199
open #199
open #279
Last commit didn't fully take...
Integrated inspector changes from open279 into
new edit mode work from open199; _layout.scss
had a bit of difficult conflict resolution but seems
good at this point...
2015-11-16 15:08:22 -08:00
5dd15e3b20 [Frontend] Merge work in open279 into open199
open #199
open #279
Integrated inspector changes from open279 into
new edit mode work from open199; _layout.scss
had a bit of difficult conflict resolution but seems
good at this point...
2015-11-16 15:05:44 -08:00
d961b41253 removed static buttons 2015-11-12 17:18:41 -08:00
564a822423 Fixed saving 2015-11-12 17:05:43 -08:00
2b2ac0b0d9 Merge pull request #299 from nasa/open297
[Time Conductor] Fix date picker toggles
2015-11-12 16:52:35 -08:00
f9a7ca85ac Merge pull request #273 from nasa/open231
[Core] Catch errors from listeners in topic
2015-11-12 16:51:50 -08:00
46b110e12f [Common UI] Add note about TODO item
Add note about temporary work around, per code review
from nasa/openmctweb#299
2015-11-12 16:38:01 -08:00
b7eb9491cb Merge pull request #275 from nasa/open271
[Layout] Enforce minimum size on drop
2015-11-12 16:10:50 -08:00
a92d13c10f Merge pull request #294 from nasa/open223
[Documentation] Document process
2015-11-12 15:08:03 -08:00
4ad007f882 [Common UI] Add z-index to popups
Temporary workaround for nasa/openmctweb#298
2015-11-12 14:52:41 -08:00
9f2303face [Time Conductor] Fix date picker toggle
nasa/openmctweb#297; avoid flag toggled to display date-time
picker becoming lost in a child scope.
2015-11-12 14:49:19 -08:00
51abd1fadf Merge branch 'open199d' into open199 2015-11-12 14:23:15 -08:00
1ceb6d2d96 [Frontend] Fixed scrolling view
open #199
open #293
open #201
Removed fixed-header class from table markup;
(cherry picked from commit 6c4bdca)
2015-11-12 13:24:28 -08:00
99512f41b9 [Documentation] Handle review feedback
Fix spelling error, add link, per code review nasa/openmctweb#294
2015-11-12 12:23:38 -08:00
93171230e3 restoring toolbar 2015-11-12 11:13:54 -08:00
5fdef59f3b Merge branch 'open199d' into open199c 2015-11-12 10:23:36 -08:00
16c3229a84 Telemetry Panels now created correctly 2015-11-12 10:22:37 -08:00
49a5ac833b [Documentation] Use consistent row headers 2015-11-12 09:57:06 -08:00
646df81874 [Documentation] Add sprint calendars
...and fix quotes copied from original sketch of document.
2015-11-12 09:52:47 -08:00
1058648e76 [Frontend] Fixed plot display
open #199
open #293
Added .abs to plot.html to allow plot
to layout properly when viewed in
main view area;
Removed .test class from time-controller;
2015-11-12 09:06:17 -08:00
5b325a9698 Merge remote-tracking branch 'github/open199c' into open199d 2015-11-12 08:06:12 -08:00
f0e293a513 Virtual panels working again with refactored code 2015-11-11 14:59:00 -08:00
5f8d13672f Reverted model modified hack 2015-11-11 11:58:15 -08:00
4c0a79116a Added refresh check for editability 2015-11-11 11:52:30 -08:00
aa5734d023 merged 2015-11-11 10:21:17 -08:00
ba8c2b8468 Fixed buttons not appearing on edit mode click 2015-11-10 22:10:43 -08:00
5a2f073975 commented out extraeneous span 2015-11-10 20:43:31 -08:00
1d0af0b3b6 Drop Gesture 2015-11-10 20:27:04 -08:00
6d2fe9d7eb [Frontend] Misc CSS and markup updates, converting to flex
open #199
IN-PROGRESS
IMPORTANT: plots are not laying out correctly,
need to figure out why
2015-11-10 18:33:58 -08:00
c5736cafb1 [Documentation] Add process documentation
Bring over process documentation (except for calendar),
nasa/openmctweb#223.
2015-11-10 17:27:43 -08:00
08ecf00916 [Frontend] Misc CSS updates to clean up layout
open #199
IN-PROGRESS
Testing with Time Controller visible;
2015-11-10 17:14:12 -08:00
9f3c353ab4 [Frontend] Updated markup to use latest flexbox classes
open #199
2015-11-10 16:30:49 -08:00
e3cac49c4b Fixed UUID import 2015-11-10 16:26:04 -08:00
93d969ad67 [Plot] Add tests
...to verify that data is requeried when user changes
domain or range selection.
2015-11-10 16:17:43 -08:00
59ea2ea361 Grabbing recompiled CSS files 2015-11-10 16:14:34 -08:00
608df8f7b8 Merging in latest github master; resolved conflicts 2015-11-10 16:13:46 -08:00
7dc6f553ac [Plot] Expose alternate domain values correctly
...from example telemetry (sine wave generator), to support
testing of switching among domains within plot.
2015-11-10 16:12:36 -08:00
b30e72081c [Plot] Update domain format
...on change in user's domain selection.
2015-11-10 16:12:16 -08:00
d60bf94501 [Plot] Remove unnecessary fallback 2015-11-10 16:03:42 -08:00
a88fadcb49 [Plot] Allow lookup of alternate ranges 2015-11-10 16:02:18 -08:00
7264a711a3 Merge pull request #274 from nasa/open250
Review and integrate open250
2015-11-10 15:20:06 -08:00
ae7a1618e8 [Plot] Listen for domain/range changes
nasa/openmctweb#218
2015-11-10 15:16:47 -08:00
d6d95fed19 [Code style] Cleaned out comments
open #250
open #274
scss, html scoured for commented
dead code, leftover TO-DOs and
other unnecessary comments;
2015-11-10 15:12:09 -08:00
d712a79ba4 [Frontend] Allow Inspector to utilize split pane during editing
open #279
IN-PROGRESS
Split pane markup added to object-inspector.html;
Tweaks to layout CSS;
2015-11-10 14:40:14 -08:00
04ce2f985a [Persistence] Add JSDoc
Add JSDoc to classes added/modified to support multiple persistence
spaces, nasa/openmctweb#245.
2015-11-10 14:16:07 -08:00
a14f30c03c [Persistence] Test PersistenceAggregator 2015-11-10 13:43:22 -08:00
bd85392b54 [Persistence] Test cross-space policy
Verify that move/copy/link across spaces is disallowed.
2015-11-10 13:29:12 -08:00
7c427e0b6e [Persistence] Test IdentifierProvider 2015-11-10 13:15:24 -08:00
6cf8335f31 [Persistence] Test Identifier parsing
...and add empty spec for IdentifierProvider
2015-11-10 13:11:21 -08:00
647a1403d0 [Persistence] Update developer guide
Replay changes to developer guide regarding identifier syntax
and persistence spaces.
2015-11-10 13:01:32 -08:00
1d9b8f34e2 Merge remote-tracking branch 'github/master' into open245b
...to resolve merge conflicts for pull request for
nasa/openmctweb#245

Conflicts:
	docs/src/guide/index.md
2015-11-10 12:56:11 -08:00
adf119007b [Persistence] Test validator
Exercise the validation function provided by move/copy/link
actions when prompting for a location with a dialog.
2015-11-10 12:46:58 -08:00
7114e9b150 [Persistence] Update move/copy/link specs
...to reflect re-consultation of policyService when the action
context changes due to dialog input.
2015-11-10 12:40:52 -08:00
76c1f5bfe9 [Persistence] Update spec for instantiate
...to reflect usage of identifierService.
2015-11-10 12:34:54 -08:00
33f88d30ed [Persistence] Update bundle definition
...to reflect dependency on identifierService to interpret an
object's persistence space based on its identifier.
2015-11-10 12:34:30 -08:00
ffdcbece56 [Persistence] Update failing spec
...to reflect changes to the persistence capability, utilizing the
identifierService for consistent interpretation of spaces by id.
2015-11-10 12:33:52 -08:00
44eb723efb [Persistence] Update failing spec
...for instantiation capability, to reflect usage of identifier
parser in determining which space an object should belong to.
2015-11-10 12:26:59 -08:00
689f80bb23 [Persistence] Use identifierService from persistence
User identifierService from the persistence capability, for
consistent interpretation of spaces associated with domain
object identifiers.
2015-11-10 12:21:53 -08:00
a2db98d275 [Persistence] Update failing spec
...to reflect changes to PersistedModelProvider
2015-11-10 12:12:11 -08:00
49b983cd3a [Persistence] Fix cross-space policy
Fix logic in cross-space policy; only disallow when a move, copy
or link would really cross spaces.
2015-11-10 10:57:48 -08:00
ad60b9225e [Persistence] Clean up instantiation
Fix typo to correctly reuse defined identifiers, remove
unused dependency of instantiation capability.
2015-11-10 10:53:48 -08:00
0c096db8bd [Persistence] Suppress Move/Copy/Link
Disallow move/copy/link when crossing persistence spaces,
nasa/openmctweb#245
2015-11-10 10:44:21 -08:00
fdf6148811 [Layout] Enforce minimum size on drop
Addresses nasa/openmctweb#271, ensuring frames in a layout
are not too tiny to use, even if the grid size is small.
2015-11-09 17:58:20 -08:00
62e7adc0b0 Merge pull request #269 from nasa/open220
[Documentation] Fix broken links and strange characters in Developer Guide
2015-11-09 17:30:57 -08:00
72e0304fc0 [Merge] Safety merge-in of latest master
open #250
2015-11-09 17:19:02 -08:00
e1110a2bc4 [Frontend] Fixed Create menu in mobile
open #250
open #157
Fixed CSS selector that wasn't properly
targeting the Create menu in a mobile
context;
2015-11-09 17:14:59 -08:00
7172c45404 [Documentation] #220 Fix broken links and strange characters in Developer Guide 2015-11-09 17:11:18 -08:00
d8ced8f635 [Frontend] Hide/show Create button in mobile
open #250
open #157
Create button now hidden by default in mobile via
usage of CSS; can be re-displayed by including
'example/mobile' bundle;
2015-11-09 17:10:57 -08:00
e3e44f74d6 [Topic] Catch errors from listeners 2015-11-09 16:55:22 -08:00
acdd9622d2 [Topic] Add test case
...which specifies desired behavior for nasa/openmctweb#231.
2015-11-09 16:51:39 -08:00
2866574dc0 [Actions] Define applicability
Define applicability of Move/Copy/Link using appliesTo, to avoid
errors being thrown due to lack of context during instantiation.
Addresses immediate cause of nasa/openmctweb#120.
2015-11-09 16:28:04 -08:00
cfc9b61e25 [Frontend] Adjusted margin strategy in left pane elements
open #250
Changed flex-elem to use margin-bottom instead of top;
Added margin-top to .search-results element;
2015-11-09 16:21:50 -08:00
066fd55590 [Actions] Test error handling 2015-11-09 16:18:35 -08:00
c0dc30edb7 [Frontend] Fixed padding in search results
open #250
2015-11-09 15:42:49 -08:00
2a201df435 [Frontend] Consolidated treeview elements markup
open #250
Removed un-needed markup around treeview
includes and mct-reps; moved CSS class defs into
mct-include and mct-rep for search and tree
respectively;
2015-11-09 15:42:24 -08:00
07179f7290 [Action] Catch errors
Catch errors during action instantiation, to avoid suppressing
whole context menus on single failures; nasa/openmctweb#120.
2015-11-09 15:42:19 -08:00
87684e0945 [Persistence] User identifierService from instantiate 2015-11-09 15:25:07 -08:00
55d3a27917 [Frontend] Fix to z-indexing for search "types" menu
open #250
2015-11-09 15:22:53 -08:00
1d13b245f9 [Persistence] Update bundle definition
...after merging latest changes from master branch into
topic branch for nasa/openmctweb#245.
2015-11-09 15:21:41 -08:00
e31d9decdc Merge remote-tracking branch 'github/master' into open245b
Conflicts:
	docs/src/guide/index.md
	platform/core/src/capabilities/InstantiationCapability.js
2015-11-09 15:17:53 -08:00
a5fa11749c [Frontend] Min/max widths on panes adjusted
open #250
Moved new min/max definitions into desktop-only
portion of layout.scss to not affect mobile layout;
2015-11-09 15:14:50 -08:00
2b92c1619e [Frontend] Min/max widths on panes adjusted
open #250
Fixed min and max widths for panes to prevent
weird pane expand/collapse behaviors, like
Inspector covering the main view area;
Added min-width to .holder-all element;
2015-11-09 15:10:52 -08:00
4f001f0b5d [API] Propose declaring plugins as Angular modules 2015-11-09 14:35:51 -08:00
fd135a16af [Frontend] Restoring dropped Snow theme constants
open #250
Snow theme constants missing were causing the Snow
theme CSS to not compile - this commit restores those
values;
TO-DO: values defined are a bit out of sync between Espresso
and Snow and need to be realigned;
2015-11-09 14:22:34 -08:00
aed49d89e3 [Documentation] Fix broken links and strange characters in Developer Guide 2015-11-09 13:46:27 -08:00
05f8739952 Diffs 2015-11-09 13:46:27 -08:00
bf39aa1b1d Fixed broken links@ 2015-11-09 13:46:22 -08:00
4e79de6156 [Frontend] Apply flex layout to object header elements
open #250
open #260
vista#132
Major refactoring to markup and CSS to apply
flex layout strategy to object headers;
Flex necessary to fix 'overflow: hidden' setting
applied in open90 to object-browse-bar that
was preventing the view switcher menu from
appearing;
Browse, edit, mobile, frames in layouts, etc. all
visually checked in a first go round;
Mobile classes tweaked to fix left and right
margin problems resulting from open90 changes;
z-indexing of Inspector pane and splitters changed
to allow primary pane elements to overflow beneath
when primary pane width is severely constrained;
2015-11-06 17:42:54 -08:00
78004ebf37 Fixed broken linkes 2015-11-06 17:40:43 -08:00
51968954a9 Merge pull request #255 from nasa/open215
[Creation] Add creation capability
2015-11-06 16:00:12 -08:00
64607b8e56 [Creation] Remove errant comments 2015-11-06 15:47:33 -08:00
cb432051dc [Creation] Tweak lazy initialization approach 2015-11-06 14:32:47 -08:00
c184a9ce7c [Creation] Complete rename of capability 2015-11-06 14:31:26 -08:00
62e2114349 [Creation] Move test cases
Move test cases from instantiation capability over to
instantiate service.
2015-11-06 14:30:39 -08:00
cca1928b82 [Creation] Use instantiate from objectService
Use instantiate from DomainObjectProvider, to remove redundant
code around DomainObject instantiation.
2015-11-06 14:23:34 -08:00
81b136eab1 [Creation] Use instantiate service
...from instantiation capability.
2015-11-06 14:15:22 -08:00
d059116782 [Creation] Rename creation capability
...to instantiation, to distinguish from creation (which
typically includes persistence.)
2015-11-06 14:07:53 -08:00
bdc99950c6 [Creation] Add instantiate service
...to allow insantiating domain objects completely
externally from any other domain object. Desired by
code review feedback for nasa/openmctweb#255.
2015-11-06 13:56:12 -08:00
76e15f2963 Merge remote-tracking branch 'github/master' into open250 2015-11-06 13:32:28 -08:00
06436bb876 [Creation] Use identifierService
...from CreationCapability.
2015-11-06 13:10:51 -08:00
d8f3f0f430 [Persistence] Expose IdentifierService 2015-11-06 13:05:27 -08:00
177c1874b9 [Persistence] Add identifierService 2015-11-06 13:03:54 -08:00
96a7c12d69 Merge pull request #249 from nasa/open127
[UI] Progress indicator for pending operations (e.g. duplicate)
2015-11-06 10:57:42 -08:00
148a5eb248 JSLint issue 2015-11-06 10:14:59 -08:00
31d3ec5d20 Removed usage of function.prototype.bind 2015-11-06 10:06:17 -08:00
7564384b57 Merge remote-tracking branch 'github-open/open241' into open-master 2015-11-06 09:59:20 -08:00
639546bf86 Merge remote-tracking branch 'github-open/open229b' into open-master 2015-11-06 09:54:42 -08:00
932e3cb7b0 Merge remote-tracking branch 'github-open/open244' into open-master 2015-11-06 09:46:51 -08:00
cbffc221fb Merge remote-tracking branch 'github-open/prod-uisymbols' into open-master 2015-11-06 09:44:21 -08:00
eef801f1ae [Persistence] Fix read in example
Values are stored in the scratchpad as JSON, so parse them
as JSON before returning them.
2015-11-05 18:00:51 -08:00
d69cf6c6fe [Persistence] Parse out key
When an identifier is a space-key pair, parse out the key before
persisting.
2015-11-05 17:58:16 -08:00
0a9c162f26 [Persistence] Fix method delegation
...used by PersistenceAggregator
2015-11-05 17:53:04 -08:00
942fa46022 [Persistence] Expose aggregator 2015-11-05 17:51:14 -08:00
74aff1b407 [Persistence] Implement aggregator 2015-11-05 17:48:43 -08:00
2f658348a8 Fixed JSLint 2015-11-05 17:40:22 -08:00
dbff9e2125 [Persistence] Add example provider
...to serve as a secondary persistence store.
2015-11-05 17:38:51 -08:00
793ed7ebe6 [UI] Progress indicator for pending operations - Refactoring for code clarity 2015-11-05 17:32:52 -08:00
bed1556a3a [Persistence] Begin adding example bundle
Begin adding example bundle illustrating usage of secondary persistence
stores. Scratchpad will 'persist' objects only in memory.
2015-11-05 17:30:27 -08:00
822b4ae96f [Persistence] Report space by identifier 2015-11-05 17:26:48 -08:00
99f3b986b6 [Creation] Retain space prefix
Retain space prefix from a parent when creating a new domain object,
if there is a space prefix.
2015-11-05 17:25:39 -08:00
fd4c1ea747 [Persistence] Retain original id
...after parsing out space and key, to aid in assembling
the result of getModels as an object where IDs are keys.
2015-11-05 17:22:05 -08:00
944a5a7424 [Persistence] Update JSDoc 2015-11-05 17:16:53 -08:00
dda2c89a58 [Persistence] Update bunde definition
...to reflect removal of 'additional persistence spaces'; parse
these out of identifiers instead.
2015-11-05 17:13:19 -08:00
c8cfbf5281 [Persistence] Refactor model loading
...such that ids are only parsed for space/key pairs once.
2015-11-05 17:11:24 -08:00
9f383ab101 [Persistence] Parse space from id
Parse spaces from domain object identifiers, if these have
been specified.
2015-11-05 17:04:55 -08:00
063e97fcb5 [Frontend] Cleanups and enhancements to search
open #250
Fixed margin/spacing problems with results element;
Added transition to results display;
Begin adding # results found / no results messaging;
Moved class .off to _globals.scss;
2015-11-05 17:04:19 -08:00
7811d50372 [Persistence] Document identifier syntax
Document identifier syntax to account for space-prefixing
for nasa/openmctweb#245.
2015-11-05 16:50:24 -08:00
e1c6c76612 Refactored some CopyService functions out to CopyTask 2015-11-05 16:39:46 -08:00
aa2a835cb1 Created CopyTask class 2015-11-05 16:19:01 -08:00
3741a02d2a [Creation] Test CreationCapability 2015-11-05 16:15:12 -08:00
f14cad4a39 [Creation] Add JSDoc 2015-11-05 16:05:29 -08:00
c0ac3a0f96 [Frontend] Convert main left pane elements to flex layout
open #250
Significant changes to flex classes, markup in
browse.html and search.html to support better
flex layout;
Search results now scrolls properly;
Significant refactoring and cleanups in search and _search.scss;
2015-11-05 15:44:55 -08:00
09bae63de7 [Creation] Update CreationService spec 2015-11-05 15:36:44 -08:00
62b9eb5180 [Creation] Simplify creationService
Add the newly-created domain object directly, instead of via
its id.
2015-11-05 15:36:33 -08:00
3f26be885e [Creation] Move uuid
...into core, since it is used by the Creation capability.
2015-11-05 15:24:57 -08:00
7ab318d57b [Creation] Fix method invocation 2015-11-05 15:21:47 -08:00
65a33f8af5 [Creation] Clean up creationService
Remove unused dependency, update JSDoc
2015-11-05 15:15:23 -08:00
331b4e9259 [Creation] Use creation capability
...from creationService to initially instantiate a domain object
before persisting it.
2015-11-05 15:13:33 -08:00
474afdf8ef [Creation] Expose creation capability
...adding usage of  to avoid circular dependencies.
2015-11-05 15:08:52 -08:00
3f4ccd93ab [Creation] Add creation capability
...allowing domain objects to be instantiated in-memory
without persisting them. nasa/openmctweb#215
2015-11-05 15:05:54 -08:00
92cf86837b Merge pull request #207 from nasa/open1239
[Plugins] Bring over Timeline, Clocks/Timers
2015-11-05 13:42:32 -08:00
5274923c49 [Licenses] Add license headers
...to sources for Clocks/Timers and Timelines, as noted in
review nasa/openmctweb#207
2015-11-05 12:45:51 -08:00
a356e01b14 Merge pull request #219 from nasa/open213
[Mobile] Don't move DOM nodes
2015-11-05 12:09:22 -08:00
21a37db15b #127 fixed failing test caused by fix for persistence spaces 2015-11-05 11:50:56 -08:00
a20bbd98f5 Merge pull request #224 from nasa/open-docs-css
[Documentation] Add styling
2015-11-05 11:46:57 -08:00
5b3f780204 [UI] Progress indicator for pending operations (e.g. duplicate) #249- Fixed serious issue with persistence 2015-11-05 11:38:41 -08:00
43e920d3b6 Reverted to local storage 2015-11-05 10:27:50 -08:00
8ca22cc510 [Frontend] Convert main left pane elements to flex layout
open #250
Markup mods in browse.html;
Renamed .holder-create-and-search to
.holder-treeview-elements;
TO-DO: fix search results to scroll properly;
2015-11-05 10:11:59 -08:00
3443780ac7 Improved commenting 2015-11-04 22:09:28 -08:00
8e85675732 Made changes to error reporting 2015-11-04 22:07:26 -08:00
2bdc95eb95 Restored MoveActionSpec.js and LinkActionSpec.js 2015-11-04 21:11:26 -08:00
f2efb07d93 Remove UUID path 2015-11-04 21:05:55 -08:00
863c3f1720 Fixed jslint issues 2015-11-04 20:48:22 -08:00
b73f9fc19e Merged from master 2015-11-04 20:30:49 -08:00
10e711f717 Removed commented code 2015-11-04 20:26:24 -08:00
529dde57b9 Added test for notification to CopyActionSpec 2015-11-04 20:26:24 -08:00
7d1a1acc11 Adding tests for Copy Action 2015-11-04 20:26:23 -08:00
5e1b0f38b7 Migrated to using notifications and fixed tests 2015-11-04 20:26:23 -08:00
4e69ca50fb Fixed blocking dialog 2015-11-04 20:26:23 -08:00
05481dcab5 reverted AbstractComposeAction 2015-11-04 20:26:23 -08:00
fa7131ad5c Refactoring to use promises notifications 2015-11-04 20:26:23 -08:00
bd1c3cb7da All test cases passing + added test cases for copy 2015-11-04 20:26:23 -08:00
cbd21212d1 Original tests that are still valid are passing 2015-11-04 20:26:23 -08:00
5cd458a733 Updating tests 2015-11-04 20:26:23 -08:00
2f90a89065 Fixed more failing tests 2015-11-04 20:26:23 -08:00
4312857fd4 Fixed failing tests 2015-11-04 20:26:22 -08:00
6c4c53dde7 Debugging test failures 2015-11-04 20:26:17 -08:00
e49b55024f [Frontend] Inspector-related fixes
open #247
Modded styles applied to .object-browse-bar to
use overflow:hidden instead of visible;
2015-11-04 16:00:22 -08:00
5f1f54fa91 [Frontend] Inspector-related fixes
open #243
Enlarged size of mini-tab icon when panes are collapsed;
Increased size of edge margin to allow for larger icons;
2015-11-04 15:47:13 -08:00
f4325e2bb3 [Frontend] Inspector-related fixes
open #244
Moved older .l-flex class out of layout and
into archetypes, updated definition;
2015-11-04 15:20:42 -08:00
e09cf91def [Frontend] Inspector-related fixes
open #244
Fixing scroll issue in Inspector via flex layout;
Added new _archetypes.scss file for .l-flex* and .col styles;
moved .col and associated mixin out of _layout.scss
and into _archetypes;
2015-11-04 15:03:56 -08:00
ff1e1251f6 [Frontend] Integrating new Inspect icon from prod-uisymbols
open #244
open #188
2015-11-04 14:29:21 -08:00
5697a39ec3 [Production] Changed target icon e615 to eye
open #188
Jay request;
e615 is no-gleam and replaces the crosshair glpyh;
gleam version is e616
2015-11-04 13:55:52 -08:00
32fb84a3cd [Merge] Merging in latest master
open #188
2015-11-04 13:52:31 -08:00
2815d97682 Merge pull request #236 from nasa/open232
Review and integrate open232
2015-11-04 13:15:21 -08:00
ab01f64cea Merge remote-tracking branch 'github/master' into open236
Resolve CSS conflicts for nasa/openmctweb#236

Conflicts:
	platform/commonUI/general/res/sass/controls/_controls.scss
	platform/commonUI/themes/espresso/res/css/theme-espresso.css
	platform/commonUI/themes/snow/res/css/theme-snow.css
2015-11-04 13:02:17 -08:00
e5aa2b4f87 [Themes] Update developer guide
Add documentation of the theme property of stylesheets extensions
to the developer guide.
2015-11-04 12:01:09 -08:00
522ce02302 [Themes] Add missing semicolon
...to satisfy JSLint.
2015-11-04 11:54:19 -08:00
e32eb11e60 [Themes] Update bundle declarations
Update bundle declarations to provide a THEME constant for
use in filtering out theme-specific CSS additions.
2015-11-04 11:53:10 -08:00
bda1bf9f9a [Themes] Match themes from stylesheet loader 2015-11-04 11:49:27 -08:00
226f0932da [Themes] Add test cases
Add test cases to verify that stylesheets are excluded/included
according to theme, when a theme has been specified.

nasa/openmctweb#241
2015-11-04 11:48:49 -08:00
15f9bc083c Merge pull request #240 from nasa/open233b
[Inspector] Introduce inspector pane
2015-11-04 11:24:27 -08:00
1c4a4e475b [Inspector] Simplify splitter communication 2015-11-04 10:53:23 -08:00
f7839b758d Merge remote-tracking branch 'github/master' into open233b
Resolve conflicts on nasa/openmctweb#233

Conflicts:
	platform/commonUI/general/bundle.json
	platform/commonUI/general/res/fonts/symbols/icomoon.io-WTD-symbols-project.json
	platform/commonUI/general/res/fonts/symbols/wtdsymbols.eot
	platform/commonUI/general/res/fonts/symbols/wtdsymbols.svg
	platform/commonUI/general/res/fonts/symbols/wtdsymbols.ttf
	platform/commonUI/general/res/fonts/symbols/wtdsymbols.woff
	platform/commonUI/general/res/sass/_main.scss
	platform/commonUI/general/res/sass/user-environ/_layout.scss
	platform/commonUI/themes/espresso/res/css/theme-espresso.css
	platform/commonUI/themes/espresso/res/sass/_constants.scss
	platform/commonUI/themes/snow/res/css/theme-snow.css
2015-11-04 09:28:19 -08:00
ac529be55c [Time Conductor] Don't emit view event
Don't emit an event when plot is instantiated; this is no
longer needed, as time conductor broadcasts its bounds
whenever views change.
2015-11-03 17:01:22 -08:00
99376391a9 Merge remote-tracking branch 'github/master' into open229b
Conflicts:
	platform/features/conductor/src/ConductorRepresenter.js
2015-11-03 16:58:40 -08:00
2c7c7b90e6 Fixed JS var placement causing mvn to fail
open #90
open #233
2015-11-03 16:51:15 -08:00
903778799f Fixed missing window reference causing test to fail
open #90
open #233
2015-11-03 16:45:11 -08:00
9523c918fb Merge remote-tracking branch 'github-open/open182' into open-master 2015-11-03 15:52:14 -08:00
09be19310b Resolved CSS conflicts
open #90
2015-11-03 15:44:10 -08:00
b8b9b1f79a Merge remote-tracking branch 'github-open/open227' into open-master 2015-11-03 15:43:08 -08:00
4300338b9c Merge pull request #186 from nasa/open155
[Notifications] Add notification infrastructure
2015-11-03 15:38:41 -08:00
6a42d0c7a1 [Frontend] Put overflow: auto back onto .object-holder
open #232
2015-11-03 15:28:53 -08:00
c0ed19fd92 Merge remote-tracking branch 'github/master' into open229b
Merge latest into topic branch for nasa/openmctweb#229
in preparation for pull request
2015-11-03 15:27:36 -08:00
df484c1800 [Time Conductor] Update TelemetryHandler spec 2015-11-03 15:27:08 -08:00
5940f94644 [Time Conductor] Cancel requests
Don't callback for any telemetry requests from a TelemetryHandle
if the handle has been destroyed.
2015-11-03 15:24:38 -08:00
7cd255670e [Frontend] Committing removed files
open #208
2015-11-03 14:59:41 -08:00
eabde6b2d0 [Frontend] Integrate Timeline into open; themes
open #208
Copied SASS styles from /warp and created
new platform/features/timeline/themes/espresso;
Styling looks complete, but Timeline itself has
functional issues;
TO-DO: remove styles from /warp/.../sass/ as needed;
2015-11-03 14:58:58 -08:00
37f466705a [Frontend] IN-PROGRESS stubbing in files ported from /warp
open #208
Moving files from /warp; stuff will NOT compile
at this point;
2015-11-02 18:22:13 -08:00
0dccaab9cb [Search] Declare UI components as templates
Declare Search UI components as templates instead of
representations so that they are not removed from the
DOM when no domain object is supplied. Fixes
nasa/openmctweb#234
2015-11-02 14:07:22 -08:00
c8848b5788 [Frontend] Tweaked spacing in Inspector header
open #90
2015-11-02 13:39:15 -08:00
4e8101ba0b [API Redesign] Add note about telemetry metadata 2015-11-02 12:52:31 -08:00
8d65335786 [Time Conductor] Remove check for domain existence 2015-11-02 12:31:40 -08:00
2d1faeba8c [Time Conductor] Update FormatService JSDoc 2015-11-02 12:30:18 -08:00
cecc52f0a9 [Time Conductor] Update formatService usages
...to remove checks for unknown formats.
2015-11-02 12:28:46 -08:00
a1d765f271 [Time Conductor] Throw errors for unknown formats
Per code review, nasa/openmctweb#204
2015-11-02 12:23:13 -08:00
fe12cdefc5 [Frontend] Added icon to Inspector header
open #90
and updated icon;
2015-11-02 11:27:56 -08:00
648cdcc86e Updated crosshair symbol for inspect
open #90
(cherry picked from commit 946a6d4)
2015-11-02 11:08:00 -08:00
946a6d4a04 Updated crosshair symbol for inspect
open #90
2015-11-02 11:04:38 -08:00
f7588d57c2 [Frontend] Added crosshair symbol for inspect
prod-uisymbols
open #90
(cherry picked from commit 91a4138)
2015-11-02 10:31:44 -08:00
91a4138334 Added crosshair symbol for inspect
prod-uisymbols
open #90
2015-11-02 10:14:28 -08:00
141a54cbd6 [Frontend] Tweaks in Inspector
open #90
Colors, spacing, properties layout mods;
2015-10-30 23:44:15 -07:00
64c6ef6cfd [Frontend] Tweaks in Inspector
open #90
Colors, spacing, properties layout mods;
Checked in mobile and snow theme;
2015-10-30 18:31:02 -07:00
fe8d9f6717 [Frontend] Mobile and margin tweaks
open #90
Margin off of right scrollbar added for treeview
in desktop only;
Repositioned nav to parent arrow button in
object-browse-bar;
2015-10-30 17:22:41 -07:00
c913f173e3 [Frontend] Safety merge of master; minor fixes
open #90
IN-PROGRESS
Merged in latest from github/master;
Fixed margins when in edit mode;
Fixed edit area not utilizing overflow: auto properly;
TO-DO: verify mobile is Ok;
2015-10-30 17:09:04 -07:00
ae928a138c [Representation] Update compilation approach
Update compilation approach for templateLinker to more
closely resemble ng-include; minimizes likelihood of
subtle behavioral differences (e.g. incorrect size
selection for split pane)
2015-10-30 16:37:47 -07:00
d926110b4e Merge remote-tracking branch 'github/open155' into open155c
open #186
open #155
Re-rendering css;
2015-10-30 16:26:49 -07:00
485e6a9de1 [wtf] Merge open155 > github/master
open #155
open #186
WTF yet again getting merge conflicts when remerging open155;
2015-10-30 16:24:20 -07:00
1e6731e6f2 Merge open155 > github/master
open155
open186
Trying a third time to resolve conflicts between open155 and master;
2015-10-30 16:20:57 -07:00
454a63e1f1 [Representation] Destroy scopes before adding
Destroy representation scope before adding elements back into
the DOM; avoids having a momentary activation of watches and
listeners on those scopes before they are replaced with newly
compiled content for new scopes.
2015-10-30 16:18:01 -07:00
b487fa4438 [Representation] Update TemplateLinker spec
...to reflect creation of a new scope each time a template
is changed.
2015-10-30 16:01:24 -07:00
560454e7c2 [Representation] Verify change before representing
An mct-representation may have a refresh triggered either by
a key change or a domain object change; both will typically
happen in the same digest cycle. Track what prior state was
an abort refreshes if nothing will change.
2015-10-30 15:55:56 -07:00
04594ea536 [Representation] Rebuild scopes on every change
Create new scopes on every changeTemplate request, even if
the same template is being viewed; presume that we want a
new instance of the same template. Avoids scope reuse for
cases such as switching from a plot of one object to a
plot of another object.
2015-10-30 15:32:20 -07:00
b5b6546710 [Frontend] Significant change to look and behavior of mini-tabs
open #90
IN-PROGRESS
mini-tab location in markup in browse.html changed;
Single menu icon for collapsed treeview;
Close 'x' boxes instead of arrow icons;
TO-DO: verify mobile is Ok;
2015-10-30 15:25:12 -07:00
a45dfc3822 [Representation] Don't reuse scopes
Addresses nasa/openmctweb#227
2015-10-30 15:09:35 -07:00
f7f6b8d612 [Time Conductor] Don't broadcast on telemetry:view
Instead, use delay from throttling initial bounds broadcast to
avoid broadcasting bounds prematurely.
2015-10-30 14:59:32 -07:00
e4a14b7603 [Time Conductor] Consistently throttle broadcast
Consistently throttle broadcast of bounds to minimize redundant
broadcasts, nasa/openmctweb#229
2015-10-30 14:56:52 -07:00
5706fa4567 Merge branch 'open182' into open229 2015-10-30 14:54:37 -07:00
796d6b800a [Time Conductor] Add JSDoc for params 2015-10-30 14:08:11 -07:00
b12bb55495 [Time Conductor] Update text on format change
...in a date-time field.
2015-10-30 13:57:21 -07:00
f42498ab60 [Time Conductor] Update specs
...to reflect changes to how unspecified versus unknown formats
are handled.
2015-10-30 13:53:33 -07:00
ec56fe7bfd Merge pull request #222 from nasa/open195
[Representation] Remove unknown templates from DOM
2015-10-30 13:39:14 -07:00
4abb48abd8 [Representation] Update parameters in JSDoc 2015-10-30 13:34:13 -07:00
7f571415dc [Time Conductor] Change format handling
Use default format when no format is specified, and throw an
error when a specified format is unrecognized, from both
date-time field controller and time range controller.
2015-10-30 13:28:01 -07:00
4f9a65a5fe [Time Conductor] Use default format
...from TelemetryFormatter, and log when a requested format
is unavailable.
2015-10-30 13:17:53 -07:00
6db7f056dc [Time Conductor] Warn about unknown formats 2015-10-30 13:11:13 -07:00
5a1d774b47 [Time Conductor] Rename default domain
To UTC, instead of just Time.
2015-10-30 13:05:37 -07:00
101e3bb346 [Time Conductor] Remove checks for undefined domain
Per code review, nasa/openmctweb#204
2015-10-30 13:04:29 -07:00
a38d4829eb [Representation] Add JSDoc 2015-10-30 12:38:32 -07:00
d5f1d45759 [Representation] Use $templateRequest
...from templateLinker, to remove the need to use $http and
to explicitly cache templates.
2015-10-30 12:35:36 -07:00
5ed34c1c30 [Representation] Build URLs from templateLinker 2015-10-30 11:02:13 -07:00
bc82a5bf7e Added additional test for notifications specified as string message 2015-10-30 10:56:16 -07:00
5af3d575a2 [Representation] Remove redundant listener
The  event is already listened-for at the representation
level to trigger cleanup, including gestures, so the info gesture
does not need to listen for it as well.

Per code review feedback, nasa/openmctweb#222
2015-10-30 10:45:44 -07:00
58198636ed Fixed jslint complaints 2015-10-30 10:32:01 -07:00
86bf6c6dff Minor refactoring and renaming of variables 2015-10-30 10:30:39 -07:00
0e07fb860e Added convenience methods for alert and error to the NotificationService 2015-10-30 10:28:08 -07:00
b3d4f48e2e Allow string or model to simplify message specification 2015-10-30 10:22:24 -07:00
b6d08726fb [Time Conductor] Remove duplicate format 2015-10-30 09:34:23 -07:00
675c5be3da [Frontend] Tweaks to splitter edge shdw
open #90
IN-PROGRESS
2015-10-30 09:22:46 -07:00
4eaeea1e14 Fixed bugs in copy 2015-10-29 21:39:50 -07:00
f44819a7fe Improvements to copy notifications 2015-10-29 17:40:17 -07:00
1dbd721b14 [Frontend] Significant mods to main layout strategy
open #90
IN-PROGRESS
To support desired edge-to-edge styling of Inspector pane;
Removed superflous .scss file;
Enhancements to splitter .scss to allow flush edging and
edge shadows;
2015-10-29 17:31:35 -07:00
05722d9b11 Added error handling 2015-10-29 17:15:20 -07:00
92a3fa3e4c Added error handling, and refactored CopyAction slightly 2015-10-29 16:40:51 -07:00
ddebbf119f [Frontend] Expand/collapse finessing
open #90
2015-10-29 12:58:34 -07:00
8c4fdf5c1c [Frontend] Expand/collapse finessing
open #90
Icon positioning; top of treeview splitter moved
back down below to previous position;
2015-10-29 12:55:20 -07:00
dd83662e0f [Documentation] Add styling 2015-10-29 12:30:13 -07:00
1b0ce7166d [Frontend] Bring in new collapse left and right pane symbols
open #90
open #188
(cherry picked from commit 9c90eb5)
2015-10-29 11:31:57 -07:00
9c90eb52a4 [Production] Added collapse left and right pane symbols
open #188
2015-10-29 11:30:01 -07:00
a0c6ddff5a [Frontend] Removed unused mini-tab-icon class
open #90
2015-10-29 11:22:18 -07:00
f51230b3f7 [Frontend] Fixed erroneous classes wrapping Create button;
open #90
2015-10-29 11:21:22 -07:00
660e9f0d4f [Frontend] Fixed color of menu-item divider items;
open #90
2015-10-29 10:10:06 -07:00
59b24d91bb [Frontend] Tweaks to splitter-related SASS
open #90
New splitterHandleInset function;
Removed padding from Inspector pane;
2015-10-29 10:09:47 -07:00
df3b0bd6fb Merge pull request #221 from nasa/open203
[Documentation] Images missing from tutorials
2015-10-29 08:50:03 -07:00
5b475c9f64 [Representation] Add more test cases
...for TemplateLinker.
2015-10-29 08:27:20 -07:00
a48370abd3 [Representation] Update spec 2015-10-29 08:18:13 -07:00
54d608adb2 [Representation] Provide initial templates
...to avoid temporarily replacing with a comment when this
is not needed.
2015-10-29 08:17:25 -07:00
5fba6f5ead [Representation] Add more test cases
...for TemplateLinker, to achieve full code coverage.
2015-10-29 08:08:01 -07:00
b177c38656 [Representation] Add JSDoc
...to TelemetryLinker.
2015-10-29 07:58:32 -07:00
11ca39b94c [Frontend] t-item-icon
open #90
Tweaked bottom position of link indicator;
2015-10-28 21:44:56 -07:00
bb0e27ce1f [Frontend] Restored erroneously checked in bundles.json;
open #90
2015-10-28 21:35:43 -07:00
56e8cd81e6 [Frontend] Refinements to t-item-icon
open #90
Scale approach to link indicator changed from
font-size to transform: scale;
Now works in tree, item grid and Inspector;
2015-10-28 21:34:01 -07:00
e37fa75289 Added basic notifications on copy 2015-10-28 17:16:53 -07:00
ee314ab387 Added notifications 2015-10-28 17:05:05 -07:00
59cd346911 [Representation] Add test cases
...for TemplateLinker
2015-10-28 17:01:13 -07:00
e7e66bff4b [Representation] Begin adding TemplateLinker spec 2015-10-28 16:49:19 -07:00
ca62cc9066 [Representation] Update spec for mct-representation
...to account for usage of templateLinker to add or remove the
whole element from the DOM when there is or is not a template
to show.
2015-10-28 16:35:11 -07:00
01b6fda1f2 [Representation] Update spec for mct-include
...to account for usage of templateLinker to add or remove the
whole element from the DOM when there is or is not a template
to show.
2015-10-28 16:11:00 -07:00
ae0cb63a92 [Representation] Remove template tester
Remove template tester after verifying that mct-include/mct-representation
elements are added/removed to/from the DOM as appropriate.
2015-10-28 16:02:52 -07:00
5604bf6d69 [Representation] Add template tester
...to simply verification of mct-include/mct-representation
behavior.
2015-10-28 16:01:55 -07:00
c5fcc5a558 [Representation] Handle edge cases
Handle edge cases (e.g. directive priorities, race conditions)
to ensure that mct-representation and mct-include display correctly
when added to or removed from the DOM.
2015-10-28 15:57:47 -07:00
ea9f607bba [Representation] Handle undefined scope
element.scope() may be undefined when wiring in the info
gesture, so check for that.

That this is sometimes undefined appears to be a consequence
of changes to mct-representation, but which changes influence
this are unclear. In any event, it appears that this cannot
be relied-upon per https://github.com/angular/angular.js/issues/9515
2015-10-28 15:49:18 -07:00
0404303042 [Representation] Move changes back
Move changed lines back to their original location to simplify
diff.
2015-10-28 15:38:11 -07:00
5677548298 [Representation] Show element synchronously
...to avoid exceptions when trying to invoke representers
before an mct-representation has been added back into the
DOM.
2015-10-28 15:32:50 -07:00
bcc42d705e [Representation] Hide elements without transclusion 2015-10-28 15:30:27 -07:00
ab008ae497 [Representation] Begin integration
...of templateLinker into mct-representation. Not working currently
due to prevalence of mct-representation instances with transcluding
directives (hitting a multiple transclusion error.)
2015-10-28 15:17:36 -07:00
8fb6ab61ba Fixed folders 2015-10-28 14:56:34 -07:00
3d59f6df0b [Representation] Separate out template loading/linking
...from mct-include, to facilitate reuse for MCTRepresentation.
2015-10-28 14:51:30 -07:00
929f06e6c1 Working on folders 2015-10-28 13:35:52 -07:00
e9e6ddd791 Trying to fix drop on folders 2015-10-28 13:01:45 -07:00
2539e4008f Improved handling of virtual panels 2015-10-28 12:53:50 -07:00
4708ac0ec1 Removed console.log 2015-10-28 11:26:20 -07:00
bd984abc0f Changed encoding of images to address https://github.com/nasa/openmctweb/issues/203 2015-10-28 11:14:07 -07:00
b4a44dee8f [Representation] Populate mct-include contents
Remove usage of ng-include and template from mct-include for
compatibility with element-level transclusion. Has useful
side effect of pre-fetching templates and reducing watch
count.
2015-10-28 11:13:53 -07:00
942f617bd8 [Representation] Use transclusion for mct-include
...to add/remove conditionally depending on the existence of
certain templates.

Note that this currently breaks mct-include due to an incompatibility
between element transclusion and directive templates; see
https://github.com/angular/angular.js/issues/3368.
2015-10-28 10:29:46 -07:00
757cb0f015 [Representation] Watch for key changes
...from mct-include. Improves behavior of that directive and supports
testing of changes to remove whole elements when inapplicable,
nasa/openmctweb#195.
2015-10-28 10:18:59 -07:00
90389ea910 [Time Conductor] Increase test specificity
Explicitly check for boolean values (not just truthy/falsy values)
per feedback from code review, nasa/openmctweb#204.
2015-10-28 09:56:50 -07:00
d1bc93cd31 [Mobile] Don't move DOM nodes
When including/excluding a DOM element via mct-device,
use replaceWith() instead of parent().append() to preserve
original ordering of DOM elements from template.
nasa/openmctweb#213.
2015-10-28 09:50:48 -07:00
0541f6edfa [Time Conductor] Add JSDoc to plot
Add JSDoc to scripts/methods added to the Plot plug-in to support
integration of custom formats for timestamps.
2015-10-28 08:47:04 -07:00
0ad22f6842 [Time Conductor] Add JSDoc to new bundle
Add JSDoc to platform/commonUI/formats, introduced to support
different time formats from the time conductor.
nasa/openmctweb#182.
2015-10-28 08:29:56 -07:00
134d853f19 [Frontend] type-icon evolving to universal t-item-icon
open #90
Major work in-progress on switching to .t-item-icon from
.type-icon to get item icons working better, especially
in .inspector-location in Inspector;
Significant mods to label.html;
2015-10-28 00:24:57 -07:00
00c0019122 [Time Conductor] Add test cases
...to cover FormatProvider.
2015-10-27 17:44:57 -07:00
e80d094174 [Time Conductor] Add test cases
...to cover UTCTimeFormat.
2015-10-27 17:39:16 -07:00
3e7264d6b8 Initial implementation of virtual panel 2015-10-27 17:38:31 -07:00
60ba80d307 [Time Conductor] Add empty specs
...to platform/commonUI/formats bundle, introduced to support
formatting of non-UTC time domains for time conductor.
2015-10-27 17:34:28 -07:00
c89aa026b0 [Time Conductor] Add JSDoc for Format interface 2015-10-27 17:31:02 -07:00
8a3f77d784 [Time Conductor] Simplify bundle name 2015-10-27 17:26:08 -07:00
15a5c593fa [Time Conductor] Add spec for formatter
Add spec to telemetryFormatter wrapper used by plot to isolate
changes to domain/range formats.
2015-10-27 17:25:08 -07:00
fc704b8056 [Frontend] Fixed and finessed mobile expand collapse
open #90
Fixed problem of right pane primary not going all the way left;
Finessed timing of tree pane fade in / fade out;
2015-10-27 17:18:40 -07:00
0a19ab4389 Merging in latest github/master
open #90
Squashed commit of the following:

commit a2d06583ca
Merge: 74f289c 5d5425d
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date:   Tue Oct 27 14:04:49 2015 -0700

    Merge pull request #216 from nasa/open-vista54a

    Review and integrate open-vista54a into master

commit 5d5425db04
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date:   Tue Oct 27 11:50:16 2015 -0700

    [Frontend] Finessing and verifying CSS

    vista#54
    Verified against fixed position and scrolling views
    using SineWave generator;
    font-size of glyph tweaked;

commit a8856c0612
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date:   Tue Oct 27 11:40:35 2015 -0700

    [Frontend] Platform-specific mods to limits

    vista#54
    Refactor limits into multiple classes, separating
    upr/lwr from red/yellow;
    Modded SineWaveLimitCapability accordingly;
    Normalized upr/lwr glyphs;
    (cherry picked from commit a26d71b)

commit 74f289cb34
Merge: 4ec243c 29bdc9d
Author: akhenry <akhenry@gmail.com>
Date:   Tue Oct 27 10:48:33 2015 -0700

    Merge pull request #206 from nasa/open150b

    [Plot] Ignore empty lines

commit 4ec243c6fb
Merge: 407d988 3d996ac
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date:   Sat Oct 24 07:48:45 2015 -0700

    Merge pull request #212 from nasa/open211

    [RequireJS] Specify path for uuid

commit 407d9881ff
Merge: 6ee622b 21739ff
Author: akhenry <akhenry@gmail.com>
Date:   Fri Oct 23 19:16:51 2015 -0700

    Merge pull request #200 from nasa/open-toc

    [Documentation] Add table of contents

commit 6ee622b3f5
Merge: 099d70b 87e317a
Author: akhenry <akhenry@gmail.com>
Date:   Fri Oct 23 17:04:04 2015 -0700

    Merge pull request #192 from nasa/open153

    [CI] Remove non-existent bundle from procfile

commit 099d70b8d9
Merge: 90828ef 8e2a2ee
Author: akhenry <akhenry@gmail.com>
Date:   Fri Oct 23 17:00:46 2015 -0700

    Merge pull request #175 from nasa/open147

    [Entanglement] Add "Go To Original" action

commit 3d996ac466
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Fri Oct 23 16:32:05 2015 -0700

    [RequireJS] Specify path for uuid

    Specify path for uuid, making it available for any code that would require it,
    without that code needing to know the path to it.

    Fixes https://github.com/nasa/openmctweb/issues/211.

commit 90828ef63d
Merge: bf24ac7 dbebf08
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Fri Oct 23 16:23:29 2015 -0700

    Merge remote-tracking branch 'github-open/open181' into open-master

commit 29bdc9d574
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date:   Fri Oct 23 13:04:06 2015 -0700

    [Plot] Ignore empty lines

    Ignore empty lines (plot lines with no data) when determining
    domain extrema; avoids failure to draw multiple plot lines in
    a telemetry panel, nasa/openmctweb#150.

commit bf24ac7c93
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date:   Fri Oct 23 12:14:46 2015 -0700

    [Search] Update field name

    Update field name in GenericSearchProvider to reflect changes
    from nasa/openmctweb#193. Avoids exceptions on mutation.

    Additionally, add test case exercising relevant code and verifying
    that reindexing is scheduled upon mutation as expected.

commit 59f094763b
Merge: 3080861 496cf85
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date:   Thu Oct 22 16:58:02 2015 -0700

    Merge pull request #193 from nasa/search-performance

    Search performance

commit dbebf08500
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date:   Wed Oct 21 15:38:58 2015 -0700

    [Time Controller] Add test cases

    ...to verify behavior on text entry of dates.

commit 847c356063
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date:   Wed Oct 21 15:26:42 2015 -0700

    [Time Controller] Change color when input is invalid

    nasa/openmctweb#181

commit 06bcd28558
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date:   Wed Oct 21 15:22:00 2015 -0700

    [Time Controller] Keep inputs in sync

    Keep inputs in sync with displayed data in time controller,
    without overwriting user-entered text. nasa/openmctweb#181

commit f88e8ebb51
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date:   Wed Oct 21 15:08:44 2015 -0700

    [Time Controller] Update model state for text entry

commit 6d2b2fd81e
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date:   Wed Oct 21 14:46:12 2015 -0700

    [Time Controller] Parse user-entered timestamps

    nasa/openmctweb#181.

commit 608800ae63
Merge: 07818b0 fb0ce1e
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date:   Wed Oct 21 14:40:42 2015 -0700

    Merge remote-tracking branch 'github/master' into open181

    Conflicts:
    	platform/commonUI/general/res/templates/controls/time-controller.html

commit 07818b0a6d
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date:   Wed Oct 21 14:35:18 2015 -0700

    [Time Controller] Show bounds in a text field

    Show bounds in a text field to allow user editing; supports manual
    editing of time controller bounds, nasa/openmctweb#181.

commit 496cf85b7e
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Wed Oct 21 09:46:32 2015 -0700

    [JSDoc] Correct mistake

commit 833f57e284
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Wed Oct 21 07:39:59 2015 -0700

    [Search] Don't block UI between requests

    Timeout subsequent calls to keepIndexing at the end of a
    indexRequest, so that UI operations are not blocked.

commit 9a63e99710
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Tue Oct 20 16:01:42 2015 -0700

    [Search] Add spec for ElasticSearchProvider

    Add spec coverage for ElasticSearchProvider.  Also remove
    unneeded guards for max number of results, as the aggregator
    will always provide a max number of results.

commit 21739fffd9
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date:   Tue Oct 20 15:52:49 2015 -0700

    [Documentation] Add table of contents

    Add table of contents to generated documents, without
    modifying document sources; nasa/openmctweb#189.

commit 77d81f899b
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Tue Oct 20 15:31:33 2015 -0700

    [Style] JSLint compliance

commit fe3263fdfe
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Tue Oct 20 15:27:46 2015 -0700

    [Search] Remove invalid specs

commit ce42429fbd
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Tue Oct 20 15:14:43 2015 -0700

    [Search] expose constants, add fudge factor

    The SearchAggregator exposes it's constants to add stability to
    tests.

    It also has a fudge factor which increaases the number of results
    it requests from providers to better support pagination when using
    client side filtering.

commit 76151d09a0
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Tue Oct 20 15:13:37 2015 -0700

    [Search] use service for filters, add spec

    Add a spec for the SearchController, and use the SearchService to
    execute filters by supplying a filterPredicate.

commit ec7e6cc5b4
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Tue Oct 20 13:55:46 2015 -0700

    [Search] Update spec for Generic Search Worker

commit 1ddce48f7e
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Tue Oct 20 13:12:04 2015 -0700

    [Search] Specs for GenericSearchProvider

    Write specs for GenericSearchProvider and resolve some implementation
    bugs they uncovered.

commit 98b5ff3c77
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Fri Oct 16 18:14:33 2015 -0700

    [Search] Decrement number of pending requests

commit 14094a48fc
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Fri Oct 16 17:33:23 2015 -0700

    [Search] Remove old specs in prep for rewrite

    Remove old specs in prep for rewrite.

commit 8e2a2eeba5
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date:   Mon Oct 19 12:08:49 2015 -0700

    [Entanglement] Add license headers

    ...per code review feedback from nasa/openmctweb#175

commit 0f63e4dde9
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Fri Oct 16 17:06:23 2015 -0700

    [Tests] Rewrite search aggregator specs

commit 12efb47be7
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Fri Oct 16 16:09:51 2015 -0700

    [Search] Remove timeouts and timestamps

    Remove timeouts and timestamps which were not effectively doing anything.

commit a2fce8e56c
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Fri Oct 16 16:05:31 2015 -0700

    [Search] Rewrite elasticsearch provider with prototype

    Rewrite the elasticsearch provider to use prototypes and clean up the implementation.

    Now returns a modelResults object to keep it in line with the general search
    provider.

commit 78e5c0143b
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Fri Oct 16 15:26:46 2015 -0700

    [Search] Overhaul generic search provider

    Rewrite the generic search provider to use prototypes.  Increase performance
    by utilizing the model service instead of the object service, and use a
    simplified method of request queueing.

commit 099591ad2e
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Fri Oct 16 15:26:04 2015 -0700

    [Search] Aggregator returns objects, providers return models

    Search providers return search results as models for domain objects, as the
    actual number of max results is enforced by the aggregator, and because the
    individual providers store and return the models for their objects already.

    This lowers the amount of resources consumed instantiating domain objects, and
    also allows the individual search providers to implement function-based
    filtering on domain object models, which is beneficial as it allows the search
    filtering in the search controller to be done before paginating of results.

commit b5505f372f
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Fri Oct 16 12:39:41 2015 -0700

    [Search] Generic Worker Performance Tweaks

    The generic search worker now does indexing work during the index operation,
    ensuring that queries do not have to do extraneous or repeat calculations.

    Change the return format slightly and fixed a bug in the GenericSearchProvider
    which caused more objects than intended to be returned from the provider.

commit 9ad860babd
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Fri Oct 16 12:34:47 2015 -0700

    [Search] Rewrite search controller, tidy

    Rewrite the search controller, making numerous changes and using prototypical
    style.

    First, the search controller immediately hides previous results when a new
    search is started.  Secondly, the search controller ensures that search results
    displayed match the currently entered query, preventing race conditions.  Finally,
    the search controller uses a poor filtering option that means it may not display
    all results.

commit 87e317a6f5
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Fri Oct 16 11:33:42 2015 -0700

    [CI] Remove non-existent bundle from procfile

    Remove the example/localstorage bundle from the procfile.

    Fixes #153.

commit bf41d82a78
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date:   Tue Oct 6 16:50:35 2015 -0700

    [Entanglement] Restore missing specs

    Restore specs which had been omitted from suite.json (but currently
    succeed for the relevant scripts); done in the context of
    nasa/openmctweb#147

commit a4944717a1
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date:   Tue Oct 6 16:47:37 2015 -0700

    [Location] Test getOriginal method

commit 70bbd3cf97
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date:   Tue Oct 6 16:37:37 2015 -0700

    [Entanglement] Add test cases for Go To Original

commit e3afaf0842
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date:   Tue Oct 6 16:22:16 2015 -0700

    [Entanglement] Add Go To Original

    nasa/openmctweb#147

commit 60f2f9fb6c
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date:   Tue Oct 6 16:08:48 2015 -0700

    [Location] Add getOriginal method

    Add a getOriginal method to the location capability, to simplify
    loading of original versions of objects. nasa/openmctweb#147
2015-10-27 17:17:10 -07:00
9e8152719f [Time Conductor] Add spec
Add spec for DateTimeFieldController, bringing over test cases
removed from TimeRangeController.
2015-10-27 17:12:03 -07:00
55745d281f [Time Conductor] Update PlotAxis spec
...to reflect ability to change domain selection without
reinstantiation, supporting integration of domain-driven
formatting of X axis values in a plot.
2015-10-27 16:18:13 -07:00
8ba112498b [Time Conductor] Add test case for formats
Add test case to TimeRangeController to reflect that it responds
to changes in format selection.
2015-10-27 15:57:44 -07:00
44fc9423df Merge branch 'open-master' into open182
Merge in latest from master branch into topic branch
for nasa/openmctweb#182
2015-10-27 15:54:18 -07:00
bd8bbc6e8f [Time Conductor] Update PlotController spec
...and add check to updateValues in PlotController, to reflect
changes made to restore support for domain switching.
2015-10-27 15:52:11 -07:00
2ee53b17db [Time Conductor] Update ConductorTelemetryDecorator spec
...to reflect that TimeConductor exposes whole domain metadata, not
just key.
2015-10-27 15:46:21 -07:00
60e97eb94a [Time Conductor] Update ConductorRepresenter spec
...to reflect that TimeConductor exposes whole domain metadata, not
just key.
2015-10-27 15:43:31 -07:00
ce5a650d8c [Time Conductor] Update TimeConductor spec
...to reflect that whole domain metadata, not just key, is exposed.
2015-10-27 15:40:34 -07:00
5ff2e6b652 [Time Conductor] Simplify passing in of axis type
...in PlotAxis. Also avoids triggering failures of existing tests.
2015-10-27 15:39:20 -07:00
f30a2dd791 [Time Conductor] Update telemetryFormatter spec 2015-10-27 15:37:08 -07:00
920c83771d [Time Conductor] Update spec
...for TimeRangeController to reflect separation of date-time
inputs into a separate control.

Additionally, removed unused function.
2015-10-27 14:06:02 -07:00
a2d06583ca Merge pull request #216 from nasa/open-vista54a
Review and integrate open-vista54a into master
2015-10-27 14:04:49 -07:00
cc8a7e513f [Time Conductor] Rename bundle
Rename platform/time to platform/commonUI/formatting; nothing
particularly specific to time about these interfaces, and
removal of non-formatting-related methods makes this essentially
a UI concern.
2015-10-27 13:11:04 -07:00
9dce3a04cc [Time Conductor] Remove obsolete code
Remove code related to handling text input from TimeRangeController;
moved into DateTimeFieldController.
2015-10-27 13:07:58 -07:00
18cdaf1b53 [Time Conductor] Fix extension definition
For date time field controller; refer to correct implementation.
2015-10-27 13:03:04 -07:00
e5d4376f06 [Time Conductor] Use date time field
...from template for time controller.
2015-10-27 13:01:27 -07:00
6784c6567b [Time Conductor] Add date-time field
Add mct-control which includes both the date-time picker and
its corresponding text entry area, per code review feedback
from nasa/openmctweb#204.
2015-10-27 13:00:42 -07:00
71618ce4b9 [Time Conductor] Hide date-picker for non-UTC formats 2015-10-27 12:40:14 -07:00
e5ebbdaf7f [Time Conductor] Use domain formats in scrolling list 2015-10-27 12:37:53 -07:00
6b805183b0 [Time Conductor] Parse negative values
...in example telemetry
2015-10-27 12:35:15 -07:00
9723c65016 [Time Conductor] Retain domain selection in plot
Avoid various cases where domain selection is temporarily
overwritten due to transient plot state (e.g. because no
telemetry metadata is yet available due to asynchronous
retrieval of delegates.)
2015-10-27 12:09:54 -07:00
5d5425db04 [Frontend] Finessing and verifying CSS
vista#54
Verified against fixed position and scrolling views
using SineWave generator;
font-size of glyph tweaked;
2015-10-27 11:50:16 -07:00
7bd0e279b0 Merge remote-tracking branch 'github/master' into open182
Merge latest from master branch into topic branch for
nasa/openmctweb#182
2015-10-27 11:49:36 -07:00
caee1f520f [Time Conductor] Remove unused watches from plot 2015-10-27 11:46:41 -07:00
a8856c0612 [Frontend] Platform-specific mods to limits
vista#54
Refactor limits into multiple classes, separating
upr/lwr from red/yellow;
Modded SineWaveLimitCapability accordingly;
Normalized upr/lwr glyphs;
(cherry picked from commit a26d71b)
2015-10-27 11:43:28 -07:00
b375ede217 [Time Conductor] Recognize domain changes in plot 2015-10-27 11:39:23 -07:00
0bd1d53d25 [Time Conductor] Update plot to support different formats
...for telemetry domain values.
2015-10-27 11:22:19 -07:00
3fe386fcd6 [Time Conductor] Use formatService from telemetryFormatter 2015-10-27 11:21:44 -07:00
74f289cb34 Merge pull request #206 from nasa/open150b
[Plot] Ignore empty lines
2015-10-27 10:48:33 -07:00
82b321b3f9 [Time Conductor] Update displayed text when format changes 2015-10-27 10:28:32 -07:00
3bdaae292e [Time Conductor] Parse deltas relative to generation start 2015-10-27 10:27:29 -07:00
b627de45ba [Time Conductor] Fix bundle definition
...such that the delta domain exposes its format, and its format
is exposed correctly under the formats extension category.
Supports testing of time conductor support for alternative
time formatting.
2015-10-27 10:01:32 -07:00
2056f3aed0 [Time Conductor] Update property name
Renamed system to format per code review feedback,
nasa/openmctweb#204
2015-10-27 10:00:35 -07:00
b928b7d3f2 [Time Conductor] Fix time calculation in example telemetry 2015-10-27 09:54:09 -07:00
df6cd8f403 [Time Conductor] Expose domain options
...for example telemetry, to test domain selection.
2015-10-27 09:50:59 -07:00
c6b7121cf0 [Time Conductor] Expose getFormat correctly
...as an instance method of FormatProvider
2015-10-27 09:45:17 -07:00
86c61f7543 [Time Conductor] Fix extension definition
...for FormatProvider. Depends should be an array.
2015-10-27 09:41:32 -07:00
741fc57442 [Time Conductor] Add alternate domain
Begin adding a more timelike alternately-formatted domain
to sine waves; the 'delta' can be expressed as UTC timestamps
but will be formatted for display as a time relative to
when sine wave generation began.
2015-10-27 09:39:48 -07:00
daed6a5b06 Frontend] Tweaked sizes of mini-tabs and pane collapsed edge margin
open #90
2015-10-26 15:01:32 -07:00
498f854bef Frontend] Treeview expand/collapse anim timing tweaks
open #90
2015-10-26 14:54:09 -07:00
77a1a90905 Frontend] Normalizing styles for items and l-icon-link
open #90
2015-10-26 14:48:50 -07:00
19bdf743fc Added save/cancel 2015-10-26 14:14:56 -07:00
f655346f46 Frontend] More refining of collapsing treeview
open #90
Treeview and Inspector should be hidden by default
when opening in a new tab;
2015-10-26 12:19:37 -07:00
20cb2ff239 [Clocks/Timers] Bring in latest
Merge in latest from master branch to support review of
changes, nasa/openmctweb#207
2015-10-26 10:42:41 -07:00
7d42292184 Frontend] More refining of collapsing treeview
open #90
Treeview and search now transition properly when user collapses
left pane while searching;
2015-10-26 10:35:41 -07:00
ed9a5b0890 [Time Conductor] Roll back changes to example telemetry
In particular, remove the timeService implementation; this is made
obsolete by a switch to a simpler format-based approach.
2015-10-26 10:06:58 -07:00
aa23d358cc [Time Conductor] Use formatService instead of timeService 2015-10-26 10:03:49 -07:00
fd582d45d2 Frontend] More refining of collapsing treeview
open #90
Create and Search controls now properly change
to mini-tabs when treeview is collapsed;
Mods to .create-btn to use :before for symbol instead of span;
 TO-DO: why does mct-device alter the order of items in the rendered
 markup?
2015-10-26 10:01:52 -07:00
0f34d38451 [Time Conductor] Remove obsolete formatting classes 2015-10-26 09:57:14 -07:00
f8ee244475 [Time Conductor] Expose FormatProvider 2015-10-26 09:56:37 -07:00
322d1c8389 [Time Conductor] Add formatProvider
...to handle lookup of extensions of category 'formats'
2015-10-26 09:54:57 -07:00
c45bf45475 [Time Conductor] Remove non-format-like methods
...from UTCTimeSystem, and rename to UTCTimeFormat. Per code
review feedback from nasa/openmctweb#182.
2015-10-26 09:48:54 -07:00
8ee4fc9b71 [Frontend] Fixed spacing of panes and mini-tabs
open #90
Splitter spacing now being handled in CSS, so
modded calcs in MCTSplitPane to not add space;
CSS calcs adjusted; comments removed;
2015-10-24 18:43:13 -07:00
99c977ce9d [Frontend] Fixed mini-tab positioning algorithm
open #90
2015-10-24 17:48:59 -07:00
85809ae1e1 [Frontend] Fixed mini-tab positioning algorithm
open #90
2015-10-24 17:01:52 -07:00
4ec243c6fb Merge pull request #212 from nasa/open211
[RequireJS] Specify path for uuid
2015-10-24 07:48:45 -07:00
94649b12fd [Frontend] Splitter re-styling
open #90
Significant redo of splitter styling;
2015-10-23 20:06:38 -07:00
407d9881ff Merge pull request #200 from nasa/open-toc
[Documentation] Add table of contents
2015-10-23 19:16:51 -07:00
aa3cf70b22 [Frontend] Expand/collapse styling
open #90
Significant styling on new mini-tabs;
Main layout margins adjusted;
2015-10-23 18:24:55 -07:00
6ee622b3f5 Merge pull request #192 from nasa/open153
[CI] Remove non-existent bundle from procfile
2015-10-23 17:04:04 -07:00
95ea33b441 Removed notification from bundles 2015-10-23 17:02:25 -07:00
099d70b8d9 Merge pull request #175 from nasa/open147
[Entanglement] Add "Go To Original" action
2015-10-23 17:00:46 -07:00
3d996ac466 [RequireJS] Specify path for uuid
Specify path for uuid, making it available for any code that would require it,
without that code needing to know the path to it.

Fixes https://github.com/nasa/openmctweb/issues/211.
2015-10-23 16:32:05 -07:00
896dd8d2c7 Fixed jslint errors 2015-10-23 16:30:51 -07:00
789b640b9b Refactored dismiss and minimize out of NotificationService and on to returned Notification type 2015-10-23 16:28:42 -07:00
90828ef63d Merge remote-tracking branch 'github-open/open181' into open-master 2015-10-23 16:23:29 -07:00
8acf01ebdf [Tests] Declare deps for moment-duration-format
...in karma test runners.
2015-10-23 16:03:57 -07:00
ddb567aeb5 [Clocks/Timers] Declare dependency of moment-duration-format
...to ensure that moment is loaded first, such that
the plugin can correctly install itself.
nasa/openmctweb#204
2015-10-23 15:46:47 -07:00
17b3378655 [Frontend] Expand/collapse styling
open #90
Modding mini-tab look, just started;
2015-10-23 15:36:52 -07:00
efd209826d [Frontend] Inspector styling, in progress
open #90
Significant styling in object-inspector.html;
2015-10-23 15:14:07 -07:00
a43c8f2ce8 [Timeline] Disable timelines due to missing styles
WTD-1239.
2015-10-23 14:14:24 -07:00
fffe07e7e6 [Timeline] Remove namespacing from specs 2015-10-23 14:06:55 -07:00
26db524f0e [Timelines] Rename bundle 2015-10-23 13:57:15 -07:00
4fcef33c58 [Timelines] De-namespace timeline's DateTimeController 2015-10-23 13:56:34 -07:00
dc9369c0f1 [Timelines] Remove namespacing from controllers
WTD-1239
2015-10-23 13:54:19 -07:00
c5b786e5e0 [Timeline] De-namespace capabilities
WTD-1239.
2015-10-23 13:52:48 -07:00
3e0534c4c3 [Timeline] Update namespacing in templates
WTD-1239
2015-10-23 13:49:46 -07:00
19ad4c8174 [Timelines] Change namespacing for directives
WTD-1239
2015-10-23 13:48:07 -07:00
8159c365b5 [Timeline] Remove namespacing from README
WTD-1239
2015-10-23 13:45:54 -07:00
307047d3ac [Clocks/Timers] Remove namespacing from specs
WTD-1239
2015-10-23 13:44:39 -07:00
83f135e48c Merge remote-tracking branch 'github/master' into open1239 2015-10-23 13:39:09 -07:00
29bdc9d574 [Plot] Ignore empty lines
Ignore empty lines (plot lines with no data) when determining
domain extrema; avoids failure to draw multiple plot lines in
a telemetry panel, nasa/openmctweb#150.
2015-10-23 13:22:19 -07:00
a7ea4c3c6e [Frontend] Inspector styling, in progress
open #90
2015-10-23 12:35:55 -07:00
bf24ac7c93 [Search] Update field name
Update field name in GenericSearchProvider to reflect changes
from nasa/openmctweb#193. Avoids exceptions on mutation.

Additionally, add test case exercising relevant code and verifying
that reindexing is scheduled upon mutation as expected.
2015-10-23 12:23:01 -07:00
e05858e26b Added newline to end of source files 2015-10-23 12:11:37 -07:00
89046ecad5 fixed jslint error 2015-10-23 12:03:56 -07:00
fa7431d68b Added test case to DialogServiceSpec 2015-10-23 12:01:48 -07:00
78b528b4a5 Added additional test cases, and some tidying 2015-10-23 11:48:37 -07:00
1d3870d07f [Frontend] Manual integration of Inspector
open #90
open #73
Adding missed new files;
2015-10-23 11:42:06 -07:00
2452b25fd4 [Frontend] Manual integration of Inspector
open #90
open #73
In-progress manual integrated Sarah Hale's work on ObjectInspector;
2015-10-23 11:37:02 -07:00
0c4d422e2d [Frontend] Manual re-do of collapse/expand panes
open #90
Refactored templates to move all split-pane elements into browse.html;
2015-10-23 11:13:51 -07:00
a283a2a0d3 [Frontend] Manual re-do of collapse/expand panes
open #90
Animation, styles, hide-show added panes and splitters;
Finessed spacing;
trans-prop* mixins normalized and added delay arg;
2015-10-23 10:52:28 -07:00
827e1af581 [Frontend] Manual re-do of collapse/expand panes
open #90
Added code to MCTSplitter and MCTSplitPane to allow
toggling of CSS class 'resizing' on pane elements when
the user is actively using the splitter;
Added resize transition animation to split pane elements
when user not actively resizing;
2015-10-23 09:18:59 -07:00
57f11a9767 [Frontend] Manual re-do of collapse/expand panes
open #90
Refined positioning of .mini-tab elements when
panes are collapsed;
2015-10-22 19:26:59 -07:00
3687cc5edd [Frontend] Manual re-do of collapse/expand panes
open #90
Fixed broken mobile styles;
Removed commented out scss;
2015-10-22 18:45:47 -07:00
bf17b77e82 Merge remote-tracking branch 'github/prod-uisymbols' into open90 2015-10-22 18:28:55 -07:00
536d5616d4 [Frontend] Manual re-do of collapse/expand panes
open #90
Major work on new .mini-tab elements, used
as controls to expand/collapse panes;
Cleaned up splitter hover behavior;
Changed mixin controlGrippy to not be tied
to :before;
2015-10-22 18:28:25 -07:00
59f094763b Merge pull request #193 from nasa/search-performance
Search performance
2015-10-22 16:58:02 -07:00
e3ef68bc6f Fixed jslint errors 2015-10-22 16:41:09 -07:00
83276d70d3 Removed MessageSeverity enum and MessageController 2015-10-22 16:29:10 -07:00
111b3bac09 [Time Conductor] Remove dateService
Replaced by timeService
2015-10-22 16:27:21 -07:00
67cf8d8cee [Time Conductor] Support index domain from sine wave 2015-10-22 16:24:55 -07:00
b4dd95490c [Time Conductor] Don't treat defaults as invalid 2015-10-22 16:07:21 -07:00
16e4c32709 [Time Conductor] Remove now dependency, fix domain switch
Remove dependency on now (current time can be retrieved via
timeService); fix domain-switching behavior such that changes
to time systems are reflected in changes to default bounds.
2015-10-22 16:05:09 -07:00
a154c9c870 [Time Conductor] Use timeService from control 2015-10-22 15:51:12 -07:00
1e71df5ce9 [Time Conductor] Implement timeService in sinewave telemetry
Switch from initial dateService interface to more practical
timeService interface.
2015-10-22 15:27:40 -07:00
5e9f38dadd [Time Conductor] Add dependency to UTCTimeProvider 2015-10-22 15:20:54 -07:00
552435b009 [Time Conductor] Add bundle for time handling 2015-10-22 15:20:12 -07:00
109ae3323d Added jsdoc and moved MessageController to dialogs from notifications 2015-10-22 15:10:53 -07:00
4f27104663 [Frontend] Manual re-do of collapse/expand panes
open #90
Implementing PaneController;
Added inspection pane and toggle button in
browse-object.html;
2015-10-22 14:26:22 -07:00
0053989de8 renamed dialog and notification 'actions' to 'options' 2015-10-22 14:14:21 -07:00
b98c1cdfe8 [Frontend] Manual re-do of collapse/expand panes
open #90
Renamed BrowseTreeController to PaneController;
Ensuring mobile functionality parity;
2015-10-22 13:34:16 -07:00
0628398b01 Moved notifications examples from 'testing' to examples 2015-10-22 13:30:34 -07:00
4ff03b081d [Time Conductor] Suppress date picker for non-UTC time systems 2015-10-22 13:08:37 -07:00
e8d7093eb5 [Time Conductor] Use time systems from time conductor 2015-10-22 13:07:04 -07:00
9bc4327c59 [Time Conductor] Add non-time-like domain
Add a non-time-like domain to sine wave generator telemetry,
to support integration of custom domain formatting into
time conductor.
2015-10-22 12:51:18 -07:00
c0fda5b572 [Time Conductor] Add JSDoc
Add typedefs relevant to the date aggregator; in particular,
document properties used to determine how to format timestamps
associated with a telemetry point.
2015-10-22 12:41:46 -07:00
950578f09b [Time Conductor] Hide datetime pickers for non-UTC domains 2015-10-22 12:20:15 -07:00
117470068a [Time Conductor] Use dateService from TimeRangeController 2015-10-22 12:17:08 -07:00
0d47b7c47d [Time Conductor] Expose dateService in bundle definition 2015-10-22 12:10:12 -07:00
c882b2d4c3 [Time Conductor] Implement date provider
Implement UTCDateProvider sufficient to pass spec.
2015-10-22 12:08:34 -07:00
794231143e [Time Conductor] Add spec for UTCDateProvider
Add test cases for UTCDateProvider, which will provide default
date/time formatting/parsing.
2015-10-22 11:55:38 -07:00
6b42d3bf4b [Time Conductor] Test DateAggregator 2015-10-22 11:54:46 -07:00
296d9f5acd Temporarily disable test 2015-10-22 11:38:30 -07:00
1c5101eca6 [Time Conductor] Add DateAggregator
Add DateAggregator, to allow composite services to expose
different ways of parsing/formatting dates.
nasa/openmctweb#182.
2015-10-22 11:30:57 -07:00
7468c0e150 Deploy to heroku 2015-10-22 11:30:06 -07:00
dc5feb8b1a Added some documentation to notification and dialog launchers 2015-10-22 10:54:48 -07:00
0fb9f3731a Edit mode and cancel buttons work 2015-10-22 10:09:09 -07:00
3080861764 Merge pull request #189 from nasa/open111
Developer Guide, Tutorials
2015-10-21 15:42:11 -07:00
dbebf08500 [Time Controller] Add test cases
...to verify behavior on text entry of dates.
2015-10-21 15:38:58 -07:00
847c356063 [Time Controller] Change color when input is invalid
nasa/openmctweb#181
2015-10-21 15:26:42 -07:00
06bcd28558 [Time Controller] Keep inputs in sync
Keep inputs in sync with displayed data in time controller,
without overwriting user-entered text. nasa/openmctweb#181
2015-10-21 15:22:00 -07:00
f88e8ebb51 [Time Controller] Update model state for text entry 2015-10-21 15:08:44 -07:00
6d2b2fd81e [Time Controller] Parse user-entered timestamps
nasa/openmctweb#181.
2015-10-21 14:46:12 -07:00
608800ae63 Merge remote-tracking branch 'github/master' into open181
Conflicts:
	platform/commonUI/general/res/templates/controls/time-controller.html
2015-10-21 14:40:42 -07:00
07818b0a6d [Time Controller] Show bounds in a text field
Show bounds in a text field to allow user editing; supports manual
editing of time controller bounds, nasa/openmctweb#181.
2015-10-21 14:35:18 -07:00
fdfb524eef Fixed scope of editMode variable 2015-10-21 12:06:11 -07:00
ef250f58de Marged style updates 2015-10-21 12:01:59 -07:00
15ed91f651 Added save buttons 2015-10-21 11:54:35 -07:00
074254a513 Frontend] Styling for New Edit Mode
open #198
Minor tweak to placeholder init content;
2015-10-21 11:38:03 -07:00
4c84789d5d Frontend] Styling for New Edit Mode
open #198
.l-flex styles refined;
Animation refinement;
.s-btn default vertical-align = top;
.tool-bar style tweaked;
Added title-label back into edit-action-buttons.html;
2015-10-21 11:35:36 -07:00
496cf85b7e [JSDoc] Correct mistake 2015-10-21 09:46:32 -07:00
833f57e284 [Search] Don't block UI between requests
Timeout subsequent calls to keepIndexing at the end of a
indexRequest, so that UI operations are not blocked.
2015-10-21 07:51:53 -07:00
cc97408433 Removed inserted TOC 2015-10-20 21:16:54 -07:00
93f8e61c40 roll back TOC generation 2015-10-20 21:12:14 -07:00
92573b817f Added drag to enable edit mode 2015-10-20 21:03:36 -07:00
9a63e99710 [Search] Add spec for ElasticSearchProvider
Add spec coverage for ElasticSearchProvider.  Also remove
unneeded guards for max number of results, as the aggregator
will always provide a max number of results.
2015-10-20 16:01:42 -07:00
21739fffd9 [Documentation] Add table of contents
Add table of contents to generated documents, without
modifying document sources; nasa/openmctweb#189.
2015-10-20 15:58:57 -07:00
5382cca435 [Frontend] Styling for New Edit Mode
open #198
In-progress styling of toolbar elements;
Revamped edit-action-buttons.html to use only icons;
2015-10-20 15:43:53 -07:00
77d81f899b [Style] JSLint compliance 2015-10-20 15:33:56 -07:00
fe3263fdfe [Search] Remove invalid specs 2015-10-20 15:27:46 -07:00
ce42429fbd [Search] expose constants, add fudge factor
The SearchAggregator exposes it's constants to add stability to
tests.

It also has a fudge factor which increaases the number of results
it requests from providers to better support pagination when using
client side filtering.
2015-10-20 15:17:15 -07:00
76151d09a0 [Search] use service for filters, add spec
Add a spec for the SearchController, and use the SearchService to
execute filters by supplying a filterPredicate.
2015-10-20 15:17:15 -07:00
ec7e6cc5b4 [Search] Update spec for Generic Search Worker 2015-10-20 15:17:14 -07:00
1ddce48f7e [Search] Specs for GenericSearchProvider
Write specs for GenericSearchProvider and resolve some implementation
bugs they uncovered.
2015-10-20 15:17:14 -07:00
98b5ff3c77 [Search] Decrement number of pending requests 2015-10-20 15:17:14 -07:00
14094a48fc [Search] Remove old specs in prep for rewrite
Remove old specs in prep for rewrite.
2015-10-20 15:16:54 -07:00
15c1bf20ab [Frontend] Styling for New Edit Mode
open #198
Refined CSS classing and animation timing;
2015-10-20 14:41:02 -07:00
685dd2114d [Frontend] Styling for New Edit Mode
open #198
Added Save and Cancel buttons;
Additional transition styling;
tool-bar styles refined;
2015-10-20 14:11:59 -07:00
6e30a25a6f [Frontend] Added new glyph
prod-uisymbols
Added e612 Save icon;
2015-10-20 12:44:09 -07:00
be79c104fb [Frontend] Added new glyph
prod-uisymbols
Added e612 Save icon;
2015-10-20 12:36:11 -07:00
6d08c81b3b First iteration of duplication complete 2015-10-20 12:18:30 -07:00
42fa5bfd7e [Frontend] Initial styles for New Edit Mode
open #198
Refactored elems in browse-object.html to use
flex layout;
New flex-row and flex-col general CSS classes;
New pulseBorder animation mixin;
2015-10-20 11:39:28 -07:00
89e763b515 Incremental commit of Duplication 2015-10-20 09:25:31 -07:00
2a1388772a Incremental commit of duplication 2015-10-19 17:32:43 -07:00
8e2a2eeba5 [Entanglement] Add license headers
...per code review feedback from nasa/openmctweb#175
2015-10-19 12:08:49 -07:00
fb0ce1eca8 [Frontend] New .loading class
open #190
Removed old .loading styles previously
commented out;
2015-10-19 11:13:50 -07:00
fa3821b50f Update of CopyService with new copy algorithm (incomplete) 2015-10-18 20:58:17 -07:00
0f63e4dde9 [Tests] Rewrite search aggregator specs 2015-10-16 17:06:23 -07:00
12efb47be7 [Search] Remove timeouts and timestamps
Remove timeouts and timestamps which were not effectively doing anything.
2015-10-16 16:09:51 -07:00
a2fce8e56c [Search] Rewrite elasticsearch provider with prototype
Rewrite the elasticsearch provider to use prototypes and clean up the implementation.

Now returns a modelResults object to keep it in line with the general search
provider.
2015-10-16 16:05:31 -07:00
78e5c0143b [Search] Overhaul generic search provider
Rewrite the generic search provider to use prototypes.  Increase performance
by utilizing the model service instead of the object service, and use a
simplified method of request queueing.
2015-10-16 15:30:14 -07:00
099591ad2e [Search] Aggregator returns objects, providers return models
Search providers return search results as models for domain objects, as the
actual number of max results is enforced by the aggregator, and because the
individual providers store and return the models for their objects already.

This lowers the amount of resources consumed instantiating domain objects, and
also allows the individual search providers to implement function-based
filtering on domain object models, which is beneficial as it allows the search
filtering in the search controller to be done before paginating of results.
2015-10-16 15:26:04 -07:00
b5505f372f [Search] Generic Worker Performance Tweaks
The generic search worker now does indexing work during the index operation,
ensuring that queries do not have to do extraneous or repeat calculations.

Change the return format slightly and fixed a bug in the GenericSearchProvider
which caused more objects than intended to be returned from the provider.
2015-10-16 12:39:41 -07:00
9ad860babd [Search] Rewrite search controller, tidy
Rewrite the search controller, making numerous changes and using prototypical
style.

First, the search controller immediately hides previous results when a new
search is started.  Secondly, the search controller ensures that search results
displayed match the currently entered query, preventing race conditions.  Finally,
the search controller uses a poor filtering option that means it may not display
all results.
2015-10-16 12:34:47 -07:00
87e317a6f5 [CI] Remove non-existent bundle from procfile
Remove the example/localstorage bundle from the procfile.

Fixes #153.
2015-10-16 11:33:42 -07:00
d7bd793bf3 [Frontend] New .loading class
open #190
CSS for revised .loading class;
Commented out/removed old .loading styles;
Theme constants for loading colors added
to theme files;
2015-10-15 16:23:42 -07:00
9d17768327 Updated tutorial to reference app.js built in web server instead of http-server 2015-10-15 15:51:54 -07:00
688718cad0 Fixed jslint errors 2015-10-15 13:10:03 -07:00
efb7611f6e Added Table of Contents generation 2015-10-15 12:35:38 -07:00
d3ff0a258e Added links to architecture document from services 2015-10-14 19:18:27 -07:00
4f18663c71 Fixed title in tutorials 2015-10-14 17:14:00 -07:00
8c2a29e895 Modified file copy prcess to prevent encoding of png's as utf8 2015-10-14 17:11:08 -07:00
821a1a485c [Production] Updated symbols font to v25
open #188
Added icon-dataset e611;
2015-10-14 16:45:55 -07:00
f08725b6a2 Fixed jshint errors 2015-10-14 16:22:11 -07:00
301b73c6c6 Banner notifications are not maximized if 'info' message 2015-10-14 16:22:10 -07:00
912e70d219 Fixed failing tests, and added stopPropagation to prevent maximizing of notifications on action click or dismiss 2015-10-14 16:22:10 -07:00
1d41939418 Fixed failing tests 2015-10-14 16:22:10 -07:00
ee382be38d Added transitions and severity classes 2015-10-14 16:22:10 -07:00
34ea3ad9bb [Frontend] Banner message animations; class renaming
open #163
open #170
Added transition animations to message banners;
Renamed $colorStatus* class names to map more
closely to severity constants;
2015-10-14 16:22:10 -07:00
2ba6f18c59 Making changes to implement display queue 2015-10-14 16:22:10 -07:00
b2a09599a0 Modified messages dialog launcher 2015-10-14 16:22:10 -07:00
11264759ec Added highest severity calculation in NotifiationService 2015-10-14 16:22:10 -07:00
c0ff6de27b Added notification indicator 2015-10-14 16:22:10 -07:00
60dda8a7a4 Updated 2015-10-14 16:21:54 -07:00
9cc0c0b06f [Frontend] Polishing of styles for time-controller
open #179
open #180
Font-size normalized for time-controller and domain selector;
Layout of object-holder and time-controller fixed;
2015-10-14 10:25:05 -07:00
5b617295e9 Did review of tutorials 2015-10-13 13:54:24 -07:00
53a3a2f459 Additional editing 2015-10-13 13:54:24 -07:00
64fae21d16 Fixed code formatting error 2015-10-13 13:54:24 -07:00
87f48aac35 Fixed code formatting error 2015-10-13 13:54:24 -07:00
e43a788a6d Fixed code formatting error 2015-10-13 13:54:24 -07:00
fa487e026e Fixed code formatting error 2015-10-13 13:54:24 -07:00
3701fd75dd Finished first pass of tutorials 2015-10-13 13:54:24 -07:00
d787e84fd4 Updated tutorials 2015-10-13 13:54:24 -07:00
1922e1e241 Finished developer guide
Fixed date of modification
2015-10-13 13:54:24 -07:00
e52f53b7ff Fixed markdown 2015-10-13 13:54:24 -07:00
d1be256691 Reverted gendocs changes 2015-10-13 13:54:12 -07:00
82ae9e72c1 Integrated notifications list 2015-10-09 14:17:55 -07:00
c703714cb3 Merge remote-tracking branch 'github-open/open115b' into open-master 2015-10-09 13:50:27 -07:00
b48a07cd3e Merge pull request #168 from nasa/mct80
[Plot] Dates show 1970 when there is no data
2015-10-09 13:40:04 -07:00
8c29c8ed0e Merge remote-tracking branch 'github-open/open151' into open-master 2015-10-09 13:38:20 -07:00
85300d3743 Refactored DialogService a little 2015-10-09 11:57:47 -07:00
5763511ec8 [Time Conductor] Update specs
Update specs to reflect merge of latest from master into
topic branch for nasa/openmctweb#115, domain selector.
2015-10-09 11:17:57 -07:00
2accf21518 [Time Conductor] Add missing semicolon
...to pass code style checks.
2015-10-09 11:08:02 -07:00
28c42fcd4c [Time Conductor] Fix merge issues
Fix merge issues not addressed during conflict resolution.
2015-10-09 11:06:41 -07:00
fe3e3325e1 Merge branch 'open170' into open155 2015-10-09 11:00:09 -07:00
2b97d61d6c Further integration work 2015-10-09 10:59:36 -07:00
1efa97e6f5 Merge remote-tracking branch 'github/master' into open115b
Conflicts:
	platform/features/conductor/src/ConductorRepresenter.js
2015-10-09 10:32:43 -07:00
756f728865 Merge remote-tracking branch 'github/open1515' into open-master 2015-10-09 10:11:11 -07:00
d8276c532b Merge remote-tracking branch 'github/master' into open115b
Merge in latest from master into topic branch for
nasa/openmctweb#115

Conflicts:
	platform/features/conductor/src/ConductorRepresenter.js
	platform/features/conductor/src/ConductorTelemetrySeries.js
	platform/features/conductor/src/TimeConductor.js
	platform/features/conductor/test/ConductorRepresenterSpec.js
	platform/features/conductor/test/ConductorTelemetrySeriesSpec.js
2015-10-09 10:04:15 -07:00
fc0bfa77db Merge remote-tracking branch 'github-open/open141' into open141-integration 2015-10-09 09:52:35 -07:00
12c6e53939 Merge remote-tracking branch 'github-open/open157' into open-master 2015-10-09 09:47:23 -07:00
4f716ad5c5 Merge pull request #162 from nasa/open117
Review and integrate open117
2015-10-09 09:44:48 -07:00
8093fcbda1 Merge remote-tracking branch 'github-open/open139c' into open-master 2015-10-09 09:42:22 -07:00
0ea5721f76 Merge remote-tracking branch 'github-open/open-readme-cairo' into open-master 2015-10-09 09:38:32 -07:00
d902943552 [Time Conductor] Satisfy JSLint
...in preparation to merge pull request nasa/openmctweb#162
2015-10-09 09:36:57 -07:00
5f7c8ccadb Merge remote-tracking branch 'github/master' into open117b 2015-10-09 09:35:07 -07:00
520d17f9db [Time Conductor] Test span constraints
Verify that inner and outer spans do not become zero when
user input might otherwise cause this.
2015-10-09 09:29:01 -07:00
7532db5f49 [Time Conductor] Add test cases
Add test cases to TimeRangeController; testing existing functionality
in the context of nasa/openmctweb#151
2015-10-09 07:58:10 -07:00
ebd8fdeee3 [Time Conductor] Enforce inner minimums on outer changes 2015-10-09 07:32:46 -07:00
954fdd5906 [Frontend] Sanding/positioning and Cancel button added to Messasges dialog
open #159
open #170
Added Cancel button to Messages dialog in DialogService.js;
Important tweaks to layout of messages to allow
bottom-bar to align to bottom in singleton dialog view;
Revised status colors in theme's constants files;
2015-10-08 19:10:26 -07:00
f738f84075 [Time Conductor] Enforce minimum outer span 2015-10-08 16:02:47 -07:00
cc19a0acba [Time Conductor] Enforce minimum inner span
nasa/openmctweb#151.
2015-10-08 15:51:23 -07:00
8267058487 Begun integration of Notifications framework with Charles' code 2015-10-08 15:08:26 -07:00
4a913376ac Merge branch 'open170' into open155 2015-10-08 13:57:25 -07:00
5ff3c71523 Fixed the Banner Controller which was not returning reference to controller 2015-10-08 13:56:59 -07:00
ba614fe2d6 Trying to sort out error 2015-10-08 13:46:42 -07:00
5e713f279b Moved some more vars 2015-10-08 13:18:47 -07:00
df590107cb Moved some more vars 2015-10-08 13:17:12 -07:00
fc8630dbc6 Moved some vars 2015-10-08 13:15:31 -07:00
12a94f828a Added some more semicolons 2015-10-08 13:14:30 -07:00
0e840ae003 [Frontend] Messages major work
open #159
open #170
CSS, markup and JS test files initially complete;
Templates renamed for consistency;
message-type icons styled;
Added severity constant "alert";
TO-DO: check refactored CSS against mobile,
see what's broken;
2015-10-08 13:09:41 -07:00
e1e5919f68 Added some semicolons 2015-10-08 13:08:43 -07:00
b2cd66bd5d Merged in charles' changes 2015-10-08 11:26:31 -07:00
af1fa6e77a added semicolons to test spec 2015-10-08 11:13:32 -07:00
5ff90f7254 Added more tests, some refactoring 2015-10-08 11:03:48 -07:00
0ca9e5c952 [Frontend] Message list initially working
open #159
open #170
Thank you @akhenry;
launchMessages function added to DialogLaunchController.js;
New message-list.html template;
message.html is now its own include;
blocking-message.html renamed to
overlay-blocking-message.html;
2015-10-08 09:37:43 -07:00
dbcad51325 [Frontend] Tiny mod to dialog-launch.html
open #159
open #170
2015-10-07 21:32:34 -07:00
8ee93d9603 [Frontend] Tweaks to dialog-launch; added ui-symbols
open #159
open #170
2015-10-07 18:26:11 -07:00
ac59df9595 [Frontend] Added type-icon to message dialogs
open #159
open #170
Percent complete added to progress-bar.html;
Refined overlay height;
2015-10-07 17:56:25 -07:00
182eff977c [Frontend] Dialog and overlay layout/positioning mods
open #159
open #170
Restructured overlay size and positioning approach
for better flexibility;
Getting new dialogs and the overlay to
play nicely in mobile context;
2015-10-07 16:36:55 -07:00
3af23b7bc5 Added test cases for notification service 2015-10-07 14:30:19 -07:00
7f529eec68 [Frontend] Mods to OverlayService
open #159
open #170
OverlayService can now be passed typeClass,
which is added to the CSS class of the overlay's
mct-include tag - intent is to allow the overlay
to size itself based on the type of content to be
displayed;
2015-10-07 12:11:30 -07:00
ad4292f1e9 [Frontend] Mods to DialogService model and dialogs
open #159
open #170
Properly re-cast model.hint and added model.actionText;
Moved progressText into progress-bar.html;
Tweaks to dialog styles;
Tweaked styles for progress bar;
Normalized various dialog templates markup;
2015-10-07 11:45:08 -07:00
6840e596a5 [Frontend] Adding progress-bar.html template
open #159
open #170
2015-10-07 10:25:47 -07:00
bf41d82a78 [Entanglement] Restore missing specs
Restore specs which had been omitted from suite.json (but currently
succeed for the relevant scripts); done in the context of
nasa/openmctweb#147
2015-10-06 16:50:35 -07:00
a4944717a1 [Location] Test getOriginal method 2015-10-06 16:47:37 -07:00
70bbd3cf97 [Entanglement] Add test cases for Go To Original 2015-10-06 16:37:37 -07:00
e3afaf0842 [Entanglement] Add Go To Original
nasa/openmctweb#147
2015-10-06 16:26:08 -07:00
60f2f9fb6c [Location] Add getOriginal method
Add a getOriginal method to the location capability, to simplify
loading of original versions of objects. nasa/openmctweb#147
2015-10-06 16:18:51 -07:00
30fd8c451e [Frontend] Progress bar as include; progress dialog
open #163
open #170
Progress bar now mct-include;
Progress dialog sanded;
Dialog launcher modded;
2015-10-06 16:10:27 -07:00
bf0014f1b9 Temporary commit 2015-10-06 14:45:10 -07:00
2aeebff652 Merging in Andrew's work so far on progress and blocking dialogs
open #163
open #170

Squashed commit of the following:

commit ec7edb58ca
Author: Henry <akhenry@aitutaki.ndc.nasa.gov>
Date:   Mon Oct 5 10:39:06 2015 -0700

    Rename dialogSeverity to messageServity for reuse with notifications

commit d20abe01dd
Author: Henry <akhenry@aitutaki.ndc.nasa.gov>
Date:   Fri Oct 2 16:40:29 2015 -0700

    Fixed docs

commit 227da18498
Author: Henry <akhenry@aitutaki.ndc.nasa.gov>
Date:   Fri Oct 2 16:27:41 2015 -0700

    Added semicolon

commit 22d424f96e
Author: Henry <akhenry@aitutaki.ndc.nasa.gov>
Date:   Fri Oct 2 16:26:29 2015 -0700

    Fixed code errors

commit 2c77c3647c
Author: Henry <akhenry@aitutaki.ndc.nasa.gov>
Date:   Fri Oct 2 16:24:01 2015 -0700

    Initial commit of blocking dialog service with test code to demonstrate usage
2015-10-06 14:41:58 -07:00
471a25a625 [Frontend] Progress bar/ message banner markup and styling
open #170
Major work on progress bar;
2015-10-06 14:34:53 -07:00
134b749bbf [Generic Search] Track pending indexes
Track domain objects which have indexing operations pending,
to avoid redundantly indexing in cases where a broader
indexed check is insufficient.
2015-10-05 10:11:38 -07:00
36d06e8b54 [Generic Search] Reduce flush interval
Per discussion from nasa/openmctweb#141, minimize the
interval at which new objects get indexed, instead of
presuming requirements for CPU utilization.
2015-10-05 10:06:55 -07:00
5520d90984 [Generic Search] Remove comments
Per code review, nasa/openmctweb#165
2015-10-05 09:57:46 -07:00
77b0086d18 [Generic Search] Use appropriate data structure
Per code review, nasa/openmctweb#165
2015-10-05 09:54:57 -07:00
d606ee421f [Frontend] New template for message-banner
open #159
open #170
Added markup and beginning of styling;
Temporarily added mct-include elem to bottombar.html;
2015-10-02 18:37:01 -07:00
926aed72c3 [Frontend] Style and display changes to status block
open #159
open #170
Refined structure in status block markup and css;
Added status-related color constants to theme scss files;
2015-10-02 17:42:31 -07:00
146e948097 [Time Conductor] Remove telemetry series wrapper
WTD-1515
2015-10-02 16:47:13 -07:00
669b434c36 [Time Conductor] Test broadcast throttling 2015-10-02 16:38:32 -07:00
431c74ca49 [Time Conductor] Only update bounds when stable 2015-10-02 16:28:58 -07:00
cd0c0f77cc [Time Conductor] Throttle display bounds broadcasting 2015-10-02 16:20:31 -07:00
8cba321886 [Plot] Move throttling out of plot
Move throttling associated with display bounds changes out
of Plot.
2015-10-02 16:11:12 -07:00
dd83816035 [Time Conductor] Remove queryStart, queryEnd
...per feedback from code review, nasa/openmctweb#104
2015-10-02 16:08:44 -07:00
1ca2b769d9 [Common UI] Test popupService 2015-10-02 15:44:36 -07:00
7014808c13 [Frontend] Style and display changes to status block
open #159
open #170
Moved classes from _bottom-bar.scss into _layout.scss
and new file _messages.scss;
Removed  _bottom-bar.scss;
Revised display behavior of .status.block to show label on
hover;
2015-10-02 15:41:02 -07:00
a1d1261179 [Common UI] Test Popup 2015-10-02 14:58:20 -07:00
99048a4ee3 [Info Service] Update spec
...to reflect usage of popupService.
2015-10-02 14:49:27 -07:00
553b17fafe [Common UI] Update mct-popup spec
...to reflect usage of popupService.
2015-10-02 14:36:04 -07:00
c4aff95341 [Common UI] Add empty specs for popupService 2015-10-02 14:15:31 -07:00
13095b4135 [Context Menu] Update specs
Update specs to reflect refactoring-out of popup elements
performed in the context of adding time conductor, WTD-1515.
2015-10-02 14:14:34 -07:00
fd927d4c03 Merge remote-tracking branch 'github/master' into open1515 2015-10-02 12:31:00 -07:00
445f22ccb0 [Context Menu] Use popupService to display menus 2015-10-02 11:01:49 -07:00
1ad0bf337c [Common UI] Use popupService from mct-popup 2015-10-02 10:48:45 -07:00
73dc16d398 [Info Service] Render info bubble after positioning
Render info bubble after positioning with the popupService,
to apply arrow classes appropriately.
2015-10-02 10:21:42 -07:00
bebe53820f [Info Service] Choose arrow direction 2015-10-02 09:36:27 -07:00
dfe909d6b5 [Time Conductor] Show appropriate arrow
...on info bubbles, when using bubbles shown via the
popupService.
2015-10-01 16:59:12 -07:00
3cf62ded08 Plot axes do not show labels when no data
Added semicolon

Added test for hasDomainData()

Added test for negative case on domain data check

Removed label test due to mocked telemetry formatter

Uncommented test commented by accident

Removed extra space
2015-10-01 16:35:14 -07:00
6cbd3e5fae [Time Conductor] Use popupService from infoService 2015-10-01 16:25:33 -07:00
3050b265fb [Time Conductor] Expose popupService 2015-10-01 15:27:36 -07:00
5104a7990a [Time Conductor] Add popupService
...to consolidate positioning of popups, based on
commonality between InfoService and MCTPopup.
nasa/openmctweb#104.
2015-10-01 15:26:00 -07:00
571beb8df2 [Time Conductor] Add JSDoc to mct-popup
Based on feedback from code review; WTD-1515
2015-10-01 14:34:52 -07:00
bea5002752 [Search] Add test cases
Add test cases related to throttled loading of domain
objects to index, nasa/openmctweb#141.
2015-09-30 17:23:52 -07:00
d04c5e6858 [Search] Update GenericSearch spec
nasa/openmctweb#141.
2015-09-30 17:08:47 -07:00
0d1f3bf87a [Throttle] Update spec
Conflicts:
	platform/features/layout/test/FixedControllerSpec.js
2015-09-30 15:48:17 -07:00
61a272b257 [API Redesign] Add note about Web Workers
Add note about RequireJS as a dependency injector
facilitating use from web workers, as noted in
comments to nasa/openmctweb#141
2015-09-30 13:59:53 -07:00
b632926d8e [Search] Fix mutation.listen
Update mutation.listen to match previous variable
names changes related to nasa/openmctweb#141.
2015-09-30 13:09:55 -07:00
78f3f8367e [Search] Vary batch size
When indexing for generic search, issue new batches of
requests as individual requests finish (instead of waiting
for whole batches to finish) varying size to keep the
number of outstanding requests below some maximum.

nasa/openmctweb#141
2015-09-29 18:37:44 -07:00
85ac4a9a32 [Search] Log indexing time
...to aid in tuning of generic search parameters.
2015-09-29 18:37:44 -07:00
ef527df381 [Time Conductor] Fix throttle bug
Fix a timing/ordering issue in throttle which
allowed some throttled invocations to be ignored.
WTD-1515
2015-09-29 18:37:44 -07:00
c2868a4573 [Time Conductor] Allow arguments for throttled functions
WTD-1515. Ensures that bounds passed in from
the time controller get appropriately captured.
2015-09-29 18:37:44 -07:00
77c66053f3 [Search] Change indexing approach
Change indexing approach to more carefully control the
rate at which objects are loaded to be indexed, to improve
performance. nasa/openmctweb#141.
2015-09-29 18:37:44 -07:00
0891e15936 [Search] Add digest indicator
Add digest indicator to example/profiling to aid in diagnosing
digest-related performance issues (or ruling out excessive digest
cycles as a cause of performance issues.)
2015-09-29 18:37:44 -07:00
2979ee90a3 Revert "[Search] Don't trigger digest cycles while indexing"
This reverts commit 4b8a5ac0b257737ee33effc966816afca6c11b94.
Performance measurements indicates this is harmful for performance,
although this is not well-explained.
2015-09-29 18:37:44 -07:00
77c399f2a2 [Search] Don't trigger digest cycles while indexing
Avoid triggering digest cycles while indexing;
remove extra call to $timeout
2015-09-29 18:37:44 -07:00
fe8543158e [Search] Fix reindexing
Flag domain objects as non-indexed on mutation to ensure
reindexing. Done in the context of nasa/openmctweb#141.
2015-09-29 18:37:44 -07:00
37dede568c Added Capabilities 2015-09-29 15:30:12 -07:00
a4f3e0d776 Plot domain labels showing 1970 if no data 2015-09-29 15:28:55 -07:00
866c8882ca [Search] Listen on a global mutation topic
Listen on a global mutation topic to remove the need to retain
listeners per domain object.
2015-09-29 11:50:30 -07:00
ad7d3d642e [Search] Move reindex function
Move function used to listen for mutation changes (to trigger
reindexing) up in scope, to avoid retaining references to
domain objects via closure. nasa/openmctweb#141

Also, includes misc. whitespace normalization (provided by
code editor.)
2015-09-29 10:54:20 -07:00
333f7cb848 [Frontend] Time controller-related styling
open #1515
open #117
Markup changed to utilize mct-representation via CSS;
time-controller now uses list-based _constants values;
ConductorRepresenter.js modded to remove inline styling
and to add CSS classes to enclosing mct-representation;
2015-09-29 08:43:34 -07:00
f198c281bc [Mobile] Suppress Create button on mobile
nasa/openmctweb#157
2015-09-28 15:57:55 -07:00
d6fe543c16 [Build] Bump version number
Bump version number to start sprint Asimov, WTD-827.
2015-09-28 15:25:37 -07:00
581dbacc9f [Build] Remove SNAPSHOT status
Remove SNAPSHOT status to tag end of sprint,
WTD-827.
2015-09-28 15:20:18 -07:00
23de3917bb [Frontend] Time Controller Markup and Styling
open #1515
open #117
Animation added to .knob and .range;
2015-09-27 16:24:43 -07:00
badaca53d3 [Frontend] Time Controller Markup and Styling
open #1515
open #117
Significant mods to slider scss;
Added toi-line element and hover styles;
2015-09-25 18:12:36 -07:00
00ac249ee2 [Time Conductor] Position domain selector
nasa/openmtweb#115
2015-09-25 16:06:11 -07:00
00aa6821d1 Merge remote-tracking branch 'github/open117' into open115b 2015-09-25 15:31:27 -07:00
b3fb06ba3f Up to page 52 2015-09-25 14:28:52 -07:00
e33485ec59 [Frontend] Time controller-related styling (CP > open117)
open #1515
open #117
Further refinements to slider knob and range look;
(cherry picked from commit 63a1239)
2015-09-25 13:57:57 -07:00
afb1202865 [Frontend] Time controller-related styling (CP > open117)
open #1515
open #117
Layout styling in datetime picker;
Modded picker to hide time selects area
when time options are null;
(cherry picked from commit 6721093)
2015-09-25 13:57:43 -07:00
5b02bc8104 Merge pull request #145 from nasa/open-commit-standards
[Process] Loosen commit message standards
2015-09-25 13:28:11 -07:00
f5a4a370f9 [Persistence] Add persisted timestamp
...to any domain object models loaded from persistence
which do not have one. The presence of this timestamp
is necessary for the persistence capability to determine
whether an object should be created or updated when a
request to persist is made. nasa/openmctweb#139.
2015-09-25 11:47:59 -07:00
2848a8458b [Time Conductor] Avoid exception
Avoid exception when trying to generate a single datum in
cases where there is no data yet available.
2015-09-25 11:05:18 -07:00
4f0e8ada2f [Process] Loosen commit message standards
Loosen commit message standards, to minimize clutter in GitHub
issues. nasa/openmctweb#145.
2015-09-25 10:47:41 -07:00
cbaf45afe9 [Time Conductor] Update specs
nasa/openmctweb#115
2015-09-25 10:40:19 -07:00
7a677062e4 [Frontend] Time controller-related styling (CP > open117)
open #1515
open #117
Fixing selects;
Tweaks to constants and mixins to better
handle button dropshadowing across
themes;
(cherry picked from commit 3e34d06)
2015-09-25 09:50:36 -07:00
a7153f320f [Frontend] Time controller-related styling (CP > open117)
open #1515
open #117
Fixing selects;
Minor tweak to normalize espresso/.../mixins.scss;
(cherry picked from commit 2866d56)
2015-09-25 09:50:02 -07:00
b7a612127d Added additional sections, up to Templates 2015-09-25 09:09:34 -07:00
b3da6edd0c [Frontend] Time Controller Markup and Styling
open #1515
open #117
Significant new vals added to constants files
for datetime picker/calendar;
Styling for calendar, hover and selected states;
Modded DateTimePickerController.js and markup
to allow selection of out-of-month cells;
2015-09-24 18:36:56 -07:00
ff1fd26efc [Time Conductor] Change method name
Prefer simpler method names for public API.
2015-09-24 17:09:06 -07:00
4ced6c44a6 [Time Conductor] Ignore empty series
...when updating Fixed Position view.
2015-09-24 17:01:50 -07:00
67f627b51f [Frontend] Time Controller Markup and Styling
open #1515
open #117
Commit prior to redoing markup of picker to use flex instead of table;
Styling in picker; tabular styles fixed somewhat;
2015-09-24 16:42:45 -07:00
1d83516982 [Frontend] Time Controller Markup and Styling
open #1515
open #117
Significant re-org in menus.scss continued:
Refactored s-menu to s-menu-btn;
moved look-related style def's into .s-menu;
.menu now extends .s-menu;
2015-09-24 15:38:52 -07:00
9e64dfe3b9 [Frontend] Time Controller Markup and Styling
open #1515
open #117
Tweaks to tick spacing;
2015-09-24 14:31:26 -07:00
09f5fa42ab Merge branch 'open1515' of https://github.com/nasa/openmctweb into open117 2015-09-24 14:21:38 -07:00
54a077a4e2 [Frontend] Time Controller Markup and Styling
open #1515
open #117
Tweak to mixin "test";
2015-09-24 14:20:25 -07:00
13525a67c2 [Time Conductor] Fix domain-based calculations
...in example telemetry, to support development work
on time conductor.
2015-09-24 13:21:51 -07:00
2f4cf44229 Added additional pages to developer's guide MD version 2015-09-24 13:17:46 -07:00
cc6b6538d5 Merge branch 'open1515' into open115 2015-09-24 12:19:08 -07:00
0c7de98195 [Time Conductor] Use active domain in binary search 2015-09-24 12:18:47 -07:00
404d1e7801 [Frontend] Time Controller Markup and Styling
open #1515
open #117
Begin work on styling the datetime picker;
2015-09-24 11:29:28 -07:00
1214a32c26 [Common UI] Avoid apply-in-a-digest
Don't invoke  from mct-resize when first observing
an element's size during linking; observed issue in the
context of adding domain selector to time conductor.
2015-09-24 11:20:07 -07:00
6bd8e7a47c Merge remote-tracking branch 'github/master' into open1515 2015-09-24 11:17:13 -07:00
825d93cee3 [Frontend] Time Controller Markup and Styling
open #1515
open #117
Changed slider elements layout from relative to
absolute positioning;
Refined layout in input-holder;
Tweaks to hover classes;
2015-09-24 10:34:32 -07:00
73e959f95a Incremental commit of developer's guide 2015-09-24 09:44:24 -07:00
9f7dc1da9b [Frontend] Time Controller Markup and Styling
open #1515
open #117
Styling for boundary inputs and
slider;
2015-09-23 18:59:36 -07:00
3d8aec2d01 [Time Conductor] Pass domain with events 2015-09-23 17:26:56 -07:00
928e31b548 [Common UI] Avoid apply-in-a-digest
Don't invoke  from mct-resize when first observing
an element's size during linking; observed issue in the
context of adding domain selector to time conductor.
2015-09-23 17:22:32 -07:00
f182d1f2c4 [Time Conductor] Include domain selection in requests
...as well as use as default in a telemetry series.
2015-09-23 17:14:40 -07:00
d238b669a5 [Time Conductor] Show domain options 2015-09-23 17:09:38 -07:00
5d5a7c26c5 [Time Conductor] Maintain domain state
Maintain domain state in the time conductor; add a default list of
domains to choose from.
2015-09-23 16:53:12 -07:00
0b0cee3afb [Example] Add domain
Add a second domain to example telemetry, to support
addition of a domain selector to the time conductor;
nasa/openmctweb#115
2015-09-23 16:43:58 -07:00
0260e6fff4 Merge branch 'open1515' into open115 2015-09-23 16:05:09 -07:00
9811443c71 Merge branch 'master' into open117 2015-09-23 15:54:48 -07:00
7dc13dab66 [Readme] Add link to node-canvas 2015-09-23 14:37:49 -07:00
e67a2e63cf [Readme] Add notes on building documentation
Add notes to README about building documentation; in
particular, document the need to install libcairo.
2015-09-23 13:59:05 -07:00
6ce4ce6ada Merge remote-tracking branch 'github-open/open139-1' into open-master 2015-09-23 13:51:55 -07:00
70bc17c79f Merge remote-tracking branch 'github-open/open97' into open-master 2015-09-23 13:44:48 -07:00
f3aceb1644 Merge pull request #118 from nasa/open95b
Review and integrate open95b into master
2015-09-23 13:06:42 -07:00
056b0c8c5b [Fixed Position] Use spaces instead of tabs
...to satisfy code style checker and pass build,
in preparation for merge. nasa/openmctweb#118
2015-09-23 12:59:04 -07:00
fa60d62039 [Entanglement] Simplify test case
...per review feedback from nasa/openmctweb#98
2015-09-23 12:49:04 -07:00
082122ddec [Entanglement] Move policyService.allow.andReturn
...to locations where the specified return value
can be more closely correlated to the relevant
test cases. nasa/openmctweb#98
2015-09-23 12:46:23 -07:00
6dbccd5000 [Entanglement] Update test cases around error-throwing
...per code review feedback, nasa/openmctweb#97
2015-09-23 12:43:03 -07:00
fb0861f256 [Config] Fixed image URLs in ImageTelemetry.js;
open #95b
2015-09-23 09:57:19 -07:00
dbe1875e70 [Themes] Resolve conflicts
Resolve conflicts in preparation for merge, nasa/openmctweb#118
2015-09-22 16:12:44 -07:00
97892869ae [Entanglement] Move composition check up
Move check for composition up higher in the sequence of
if-blocks in the validation step of linking; remove
fallback to [] for undefined composition, which is no
longer necessary as a consequence of this.

nasa/openmctweb#98
2015-09-22 15:53:27 -07:00
8db334e45b Revert "[LinkService] Reorder/refactor validation"
This reverts commit c17269ba8b.
2015-09-22 15:51:15 -07:00
4743833f7c [Entanglement] Verify revalidation
Verify that move/copy/link revalidate when performed and
throw errors when moving/copying/linking would be invalid.
nasa/openmctweb#98
2015-09-22 15:49:22 -07:00
6996883b85 [Entanglement] Update specs
Update specs for move/copy/link services to account
for re-validation at time an action is performed.
nasa/openmctweb#98
2015-09-22 15:42:39 -07:00
119403e71c [Entanglement] Throw errors if validation is skipped
...per feedback from nasa/openmctweb#98
2015-09-22 14:39:15 -07:00
ff24f06475 [Entanglement] Add JSDoc
...per feedback from nasa/openmctweb#98
2015-09-22 14:10:06 -07:00
597b18af1c [LinkService] Amend test cases
Remove redundant test case; modify composition-checking
test case to expose correct capability information.
In response to feedback from nasa/openmctweb#98
2015-09-22 14:07:46 -07:00
aba0969312 Merge branch 'mobile-integration' into open-master 2015-09-22 13:53:22 -07:00
b4a2bfd727 [LinkService] Change variable name
...based on feedback from nasa/openmctweb#98
2015-09-22 13:50:10 -07:00
2040304980 Merge remote-tracking branch 'github-open/open19' into open-master 2015-09-22 13:49:41 -07:00
55362f6b26 [LinkService] Clarify comment
Clarify comment, based on feedback from nasa/openmctweb#98
2015-09-22 13:48:11 -07:00
8611926533 Merge remote-tracking branch 'github-open/open113' into open-master 2015-09-22 13:45:04 -07:00
c17269ba8b [LinkService] Reorder/refactor validation
Reoder validation to consider the composition capability
first; refactor to express as a single expression to clarify
validation logic (explicitly say 'and' instead of implying
it with control flow.)

Based on feedback from nasa/openmctweb#98
2015-09-22 13:37:56 -07:00
56ccf29cfe [Persistence] Include timestamp on creation
Include a persisted timestamp when an object is first
created. nasa/openmctweb#139
2015-09-22 11:32:18 -07:00
8b7a94dcf8 [Style] Remove unused variables, excess whitespace
Clean up unused variables and excess whitespace to match style guide.
2015-09-22 11:14:55 -07:00
3e5d294a28 [SCSS] Fixed typo
Changed tmpBorder mixin to specify '@include' instead of '@iclude'.  This
does not change the output CSS which means the tmpBorder mixin is not
used anywhere and could be removed.
2015-09-22 10:57:30 -07:00
480da3476e Merge branch 'mobile' into mobile-integration 2015-09-22 10:55:43 -07:00
54334a8906 [Frontend] Setting default theme for open back to espresso
open #95b
Also removed unused COMPILE.scss file;
2015-09-21 14:26:50 -07:00
c9b2f5804d [Frontend] Minor tweaks to sizing of controls
open #95b
View switcher and plot control buttons now made small
when object is in a frame context in a Layout;
2015-09-21 14:24:19 -07:00
0c1f77cfab [Mobile] Collapse tree on click
Collapse tree any time a user does an action in the
tree that would select an object; don't only do this
on navigation changes, because this fails to detect
occasions where user clicks the already-navigated-to
object.
2015-09-21 10:53:45 -07:00
ae4313253c [Mobile] Test mct-device 2015-09-18 16:47:50 -07:00
1e6c4732f1 [Mobile] Consolidate BrowseTreeController
Make mobile variant of BrowseTreeController the regular version
of that controller; Browse mode has a dependency on mobile by
way of the mct-device directive anyway.
2015-09-18 15:55:58 -07:00
884d36ad6d [Mobile] Test BrowseTreeController variants 2015-09-18 15:49:55 -07:00
24586ae378 [Mobile] Remove BackArrowController
Remove BackArrowController; behavior can be implemented
in template.
2015-09-18 15:29:55 -07:00
cf97b30084 [Mobile] Add empty specs 2015-09-18 15:21:23 -07:00
e86e61c2ac [Mobile] Fix test setup error
Use correct user agent strings for iPhone/iPad
(these had been reversed in the spec.)
2015-09-18 15:12:48 -07:00
b163b45a5e [Framework] Update spec
Update spec to verify that app.controller et al
are not called multiple times with the same key.
2015-09-18 15:10:21 -07:00
d236fd10c3 [Framework] Move registration-tracking
Move registration-tracking for Angular built-ins such that
these are correctly tracked at the instance level.
2015-09-18 15:02:32 -07:00
befa66a9e2 [Mobile] Remove obsolete test cases
...for functionality that has been moved out of TreeNodeController.
2015-09-18 14:54:37 -07:00
5a1c83fca8 [Mobile] Update spec for AgentService 2015-09-18 14:53:14 -07:00
88bb213162 [Mobile] Move spec for AgentService 2015-09-18 14:34:14 -07:00
ad552511c1 Merge pull request #134 from nasa/open124
Review and integrate open124
2015-09-18 13:49:06 -07:00
65368ed0c3 [Config] Removed non-functional config options from Create dialogs;
open #124
Removed "Default view" and "Display title by default" from
Panel configs;
2015-09-18 13:43:29 -07:00
bf05e55d02 [Mobile] Use mct-device in tree nodes 2015-09-18 12:25:51 -07:00
c057ba38a5 [Mobile] Add mct-device directive
Add directive which can be used to include certain elements
only on specific devices.
2015-09-18 12:13:37 -07:00
70bcb723ef [Mobile] Small tweaks/bug fixes
Small tweaks/fixes (use appropriate variable names etc) for
refactoring mobile support classes.
2015-09-18 12:13:05 -07:00
4c5808c8c9 [Mobile] Move mobile-specific behavior to template 2015-09-18 11:01:54 -07:00
fa186a1556 [Mobile] Update agentService usages 2015-09-18 10:07:27 -07:00
0b4f44f00d [Mobile] Remove leading slash, redundant declaration 2015-09-18 09:18:19 -07:00
dce7253b27 [Mobile] Move mobile bundle 2015-09-18 09:17:01 -07:00
158fbf5365 [Mobile] Check orientation dynamically
Check orientation dynamically from the AgentService
(more specifically, recheck when called - this may
change as a user rotates a device.)
2015-09-18 09:15:08 -07:00
1d1589da68 [Mobile] Move agentService to mobile bundle
...and make API tweaks.
2015-09-17 18:05:48 -07:00
6aba34dd5a [Mobile] Override browse behavior
Override browse tree behavior such that tree collapses upon
navigation change in mobile.
2015-09-17 17:54:01 -07:00
733a282f3f [Framework] Obey priority order for controllers et al
Support overriding of controllers between bundles.
2015-09-17 17:51:06 -07:00
19500c2704 [Mobile] Restore browse controller from master 2015-09-17 17:42:38 -07:00
2090b1a958 [Browse] Separate tree expand/collapser 2015-09-17 17:03:35 -07:00
411a4ebfbf Merge remote-tracking branch 'github/master' into mobile 2015-09-17 16:41:13 -07:00
cc3b0ecfca Merge branch 'open-master' into mobile
Merge in latest from master branch into mobile branch
2015-09-17 16:40:48 -07:00
ac48039b90 [Mobile] Create empty bundle for mobile 2015-09-17 16:40:18 -07:00
411f0d904d [Entanglement] Test LocatingObjectDecorator 2015-09-17 14:45:05 -07:00
d92ae4d508 [Core] Add tests for 'contextualize' 2015-09-17 14:06:22 -07:00
bc4c7feb6c [Core] Update spec for CompositionCapability
...to reflect changes to separate out contextualization
of domain objects
2015-09-17 13:57:20 -07:00
c4aed57165 [Entanglement] Refactor LocatingObjectDecorator
Rearrange code in LocatingObjectDecorator to make it easier to
follow; add comments.
2015-09-17 13:51:50 -07:00
88b8528aaf [Entanglement] Log a warning on cycle detection
nasa/openmctweb#84
2015-09-17 13:42:08 -07:00
d1c0d81120 [Entanglement] Contextualize objects by location
Add a context capability to domain objects based
on their location at the time they are loaded.
nasa/openmctweb#84
2015-09-17 13:37:57 -07:00
a233856bac [Core] Separate out contextualize
Separate out contextualize function to facilitate
reuse from entanglement bundle. nasa/openmctweb#84
2015-09-17 13:15:42 -07:00
9a7f435b61 [Frontend] Minor color tweaks in Snow theme
open #95
vista #65
(cherry picked from commit 98c5334)
2015-09-17 09:58:13 -07:00
f4e53a946d [Time Conductor] Remove from active bundles
Remove time conductor from set of active bundles pending
clean up of markup/CSS.
2015-09-16 18:14:30 -07:00
9fdb9f0170 [Frontend/PLATFORM] Cherry picking from platform changes in vista65
open #95
vista #65
Style mods for selects;
(cherry picked from commit 8b2c4c6)
2015-09-16 17:18:58 -07:00
f28d2f19d0 [Frontend/PLATFORM] Cherry picking from platform changes in vista65
open #95
vista #65
scss and html mods for VISTA-related elements;
(cherry picked from commit 6ef3987)
2015-09-16 17:17:54 -07:00
de71bde62f [Test Conductor] Add test case for requery
WTD-1515
2015-09-16 17:00:56 -07:00
8f24e014e0 [Time Conductor] Add skeleton specs
Add skeleton specs to new classes added for date-time
picker in time conductor. WTD-1515
2015-09-16 16:51:28 -07:00
b4c0de84d8 Intermediary commit; considering imperative plugins 2015-09-16 16:32:48 -07:00
190f5fd0ea [Time Conductor] Update failing specs
WTD-1515
2015-09-16 15:23:08 -07:00
ad29fb0f92 [Time Conductor] Populate FP from historical
Populate fixed position view from historical
telemetry when first loaded. WTD-1515
2015-09-16 13:38:47 -07:00
acdd35cf65 [Forms] Fix select control
Use ng-show instead of ng-if to suppress the
'Select One' option after user has chosen something
in a select box; the latter appears to be incompatible
with Angular 1.4.x. nasa/openmct#113
2015-09-16 12:23:26 -07:00
fcd073c010 [Time Conductor] Tweak plot requery
Tweak approach to requerying in plot, and track
pending state so there is a visual indication
that plotted data may be incomplete during
panning with time conductor. WTD-1515
2015-09-16 11:05:41 -07:00
071368c3b9 [Time Conductor] Fix throttle bug
Fix a timing/ordering issue in throttle which
allowed some throttled invocations to be ignored.
WTD-1515
2015-09-16 11:04:07 -07:00
4f5a1115d2 [Frontend] Themes final on open prior to VISTA integration
open #95
Branch open95b now replaces open95;
Fix to status indicator to only
display when title length > 0;
2015-09-16 10:45:22 -07:00
7a97588aa5 [Time Conductor] Remove debugging statement
WTD-1515
2015-09-16 10:30:45 -07:00
f776561303 [Time Conductor] Allow arguments for throttled functions
WTD-1515. Ensures that bounds passed in from
the time controller get appropriately captured.
2015-09-16 10:18:57 -07:00
e34fe1a289 [Time Conductor] Tweak position, appearance
...of datetime picker popups. WTD-1515
2015-09-15 18:51:44 -07:00
70d9587c9b [Time Conductor] Wire in datetime pickers
WTD-1515
2015-09-15 18:48:00 -07:00
9a78b63065 [Time Conductor] Try to rewrite datetime picker as control 2015-09-15 18:37:36 -07:00
6c497f3c36 [Time Conductor] Start adding datetime picker
WTD-1515
2015-09-15 18:09:46 -07:00
d951b794e3 [Time Conductor] Support date choice
...from date-time picker. WTD-1515
2015-09-15 15:55:13 -07:00
797046aca4 [Time Conductor] Populate datetime picker
WTD-1515
2015-09-15 15:24:54 -07:00
cf76583ed7 [Time Conductor] Add inline styles to datetime-picker 2015-09-15 14:50:05 -07:00
6f28ab0145 [Time Conductor] Begin adding custom date picker
WTD-1515
2015-09-15 13:08:05 -07:00
d981e7bb1d [Browse] Separate out back-arrow behavior
Supports integration of changes for mobile, nasa/openmct#95
2015-09-15 12:18:57 -07:00
a3a6706869 [Browse] Separate out back-arrow behavior
Supports integration of changes for mobile, nasa/openmct#95
2015-09-15 12:13:11 -07:00
72c122e0ee Merge remote-tracking branch 'github/master' into open95b
Conflicts:
	platform/commonUI/edit/src/actions/RemoveAction.js
2015-09-15 11:35:25 -07:00
9ebf157ec0 [Time Conductor] Test telemetry service decorator
WTD-1515
2015-09-15 11:18:28 -07:00
493c63be44 [Time Conductor] Test series wrapping
WTD-1515
2015-09-15 10:58:10 -07:00
f29951140f [Time Conductor] Add license header, JSDoc
WTD-1515
2015-09-15 10:22:43 -07:00
d0b5bb2d21 [Time Conductor] Begin using date-time controls
WTD-1515
2015-09-15 10:00:41 -07:00
cd98886a43 [Time Conductor] Add license header
WTD-1515
2015-09-15 08:59:57 -07:00
4549828cae Merge remote-tracking branch 'github/master' into open1515 2015-09-15 08:57:49 -07:00
8ce8080253 [Timelines] Begin removing namespacing
Begin de-namespacing timelines/activities for inclusion
in open source. WTD-1239
2015-09-15 08:34:15 -07:00
96f72b3765 [Clocks] Add license, change keys
Un-namespace keys in clock plugin, and add licensing
info for moment-duration-format. WTD-1239
2015-09-14 16:52:56 -07:00
c932e953bc [Plugins] Bring over timeline, clock plugins
WTD-1239
2015-09-14 16:45:41 -07:00
d0478c3433 [Scrolling List] Check for existence of limit
Check for existence of limit capability while evaluating
limits in a scrolling list view. WTD-1515
2015-09-14 16:37:29 -07:00
53369ec0dc [Time Conductor] Avoid searching outside of series
Don't look up domain values while subsetting a
telemetry series until after checking to ensure
that there is some segment of the series left
to search. WTD-1515
2015-09-14 16:36:41 -07:00
de99969f0a [Time Controller] Return range values
Delegate retrieval of range values appropriately in
conductor-driven telemetry series subset. WTD-1515
2015-09-14 14:39:19 -07:00
24449d2dcc [Time Controller] Fix series subsetting
Fix binary search implementation used to subset
telemetry series for time conductor. WTD-1515
2015-09-14 11:44:50 -07:00
f42c5ca1e5 [Time Conductor] Subset to display bounds
WTD-1515
2015-09-14 11:25:42 -07:00
8c1b70f085 Merge remote-tracking branch 'github-open/open53' into open-master 2015-09-14 11:00:56 -07:00
c010011798 Merge remote-tracking branch 'github-open/open1252' into open-master 2015-09-14 10:51:30 -07:00
890aafc203 [Time Controller] Filter out realtime updates
Filter out realtime updates that are outside of the time
controller's range. WTD-1515
2015-09-14 10:02:59 -07:00
ecf7f4b235 [Info Bubble] Remove ID
Don't show domain object id in info bubble; this is not
useful information to non-developers. (For developers,
this information can be retrieved from the URL by
navigating to a domain object.) WTD-1252
2015-09-11 16:29:20 -07:00
3e5d46a62b [Frontend] IN-PROGRESS Theme changes continuing
open #95
Limits, plots, etc.;
Misc sanding and shimming;
Updated  symbols font to replace missing
Info symbol;
2015-09-11 16:25:19 -07:00
01045e6ee1 [Persistence] Add local storage indicator 2015-09-11 14:48:17 -07:00
febb0edede [Persistence] Add spec for local storage persistence 2015-09-11 14:31:57 -07:00
048eb20450 [Persistence] Update code style
Update code style for local storage based persistence.
2015-09-11 14:05:01 -07:00
36e38b9454 [Persistence] Add local storage to active bundles 2015-09-11 13:54:33 -07:00
215b4a154b [Persistence] Move local storage to platform
#79
2015-09-11 13:53:47 -07:00
47bfe40294 [Common UI] Remove unused variable
...from mct-splitter directive.
2015-09-11 13:40:25 -07:00
3a3829682c [Common UI] Only trigger digest on change
...from mct-split-pane.
2015-09-11 13:33:17 -07:00
861ea8bab7 [Common UI] Poll split pane position
Poll to position the splitter in an mct-split-pane, in
order to detect later style changes. #53.
2015-09-11 13:12:24 -07:00
c91e914c22 [API Redesign] Add proposal to improve fault tolerance
Related to #79
2015-09-11 12:26:45 -07:00
f17410a85b [Capabilities] Avoid erroneous logging
Fix logic error which caused an inaccurate warning to
be logged when capabilities are overridden by priority.
Addresses #49.
2015-09-11 11:38:22 -07:00
2a14cf2dfc [Time Controller] Only listen for display-bounds changes
...from plot. WTD-1515
2015-09-11 11:31:12 -07:00
62962e119e [Time Controller] Decorate telemetry service
Decorate telemetry service instead of capability service
to enforce time conductor bounds. WTD-1515.
2015-09-10 16:17:48 -07:00
a840b59044 [Frontend] IN-PROGRESS Theming continues, sanding
open #95
Fixed grid icon hover color;
Various color normalization;
2015-09-10 15:58:00 -07:00
d14c4e08b8 [Frontend] IN-PROGRESS Theming continues
open #95
Shadow and color normalization: fixed-position, tabular;
Updated paint bucket and icon-box in symbols font;
Custom checkboxes now use inset shdw;
2015-09-10 15:01:51 -07:00
de6dfe1fdc Merge remote-tracking branch 'github/master' into mobile
Merge in latest from master into mobile branch
to reconcile conflicts

Conflicts:
	platform/commonUI/edit/src/actions/RemoveAction.js
2015-09-10 15:01:38 -07:00
2229e868ce [Time Conductor] Fix logic around end times
Fix logic for updating end times after refactoring
to clarify variable/property naming, WTD-1515
2015-09-10 13:24:50 -07:00
3b2454c6a9 [Frontend] IN-PROGRESS Theming continues
open #95
Search, plots;
Minor tweaks to add shdw to items and buttons;
2015-09-10 11:43:39 -07:00
8d209f4d19 [Time Controller] Fix middle-drag bug
Fix bug in middle-drag introduced by refactoring,
WTD-1515.
2015-09-10 11:34:31 -07:00
86bb89a162 [Time Controller] Update spec
Update spec for ConductorRepresenter to reflect changes
to model properties expected by TimeRangeController.
WTD-1515
2015-09-10 11:31:40 -07:00
2758250833 [Time Conductor] Fix JSDoc
Fix copy-paste error. WTD-1515
2015-09-10 11:27:50 -07:00
7d20351a6a [Time Conductor] Clean up code style
Clean up code style in TelemetrySubscription, for
changes associated with WTD-1515.
2015-09-10 11:20:09 -07:00
78fae345da [Time Conductor] Rename TimeConductorController
Rename TimeConductorController to TimeRangeController, to
reflect that this is intended to serve as a more general
control. Additionally, stop using arrays for inner and
outer bounds and instead use explicit start/end properties,
for clarity. WTD-1515
2015-09-10 10:58:47 -07:00
4c79c9a1b1 [Time Conductor] Clarify start/end naming
WTD-1515
2015-09-10 10:21:21 -07:00
2ec9956d44 [Time Conductor] Incorporate feedback from code review
Retain reference to scope in ConductorRepresenter
directly via this, instead of revealing via
a closure-bound function. This approach is not necessary
to avoid https://docs.angularjs.org/error/ng/cpws in
this circumstance.  WTD-1515
2015-09-10 10:16:28 -07:00
426ab44d93 [Angular] Update Locator specs
Update locator specs to provide expected functionality
of .
2015-09-09 18:17:07 -07:00
3792dab0f9 [Frontend] IN-PROGRESS Theme changes continuing
open #95
Menus sanded and normalized;
2015-09-09 17:25:10 -07:00
c6df7cebe5 [Angular] Check for context capability
Check for existence of context capability from Remove action
during navigation check. This avoids an exception that
appears to have been swallowed in earlier versions of
Angular.
2015-09-09 17:25:02 -07:00
52df7fe1e2 [Angular] Avoid infinite digest
Avoid infinite digest loop from LocatorController associated
with upgrade to Angular 1.4.4
2015-09-09 17:15:35 -07:00
e3b191b5dc [Time Controller] Update failing specs
Update failing specs to reflect support for time conductor,
WTD-1515
2015-09-09 16:52:46 -07:00
32b895ba62 [Frontend] IN-PROGRESS Theme changes continuing
open #95
Refactored btnSubtle and containerSubtle mixins
to simplify;
2015-09-09 16:49:59 -07:00
a4dda695dd [Time Controller] Get conductor working with fixed pos.
WTD-1515
2015-09-09 16:46:00 -07:00
4db48afab0 [Frontend] IN-PROGRESS Theme changes continuing
open #95
Mostly about the overlay and forms;
Buttons, menus, selects tweaks continued;
Initial check and tweaks in mobile;
2015-09-09 15:55:12 -07:00
0d710209b1 Merge remote-tracking branch 'github/master' into open1515 2015-09-09 10:05:21 -07:00
52c471bd3a [Angular] Clean up InfoGesture workaround
...and add comment pointing back to the Angular issue
which motivates the workaround.
2015-09-08 21:14:46 -07:00
560c8612bd [Angular] Amend InfoGesture for compatibility
Update the info gesture so that it does not schedule
multiple bubbles to be shown when multiple events fire,
for AngularJS 1.4.4 compatibility.
2015-09-08 19:53:38 -07:00
6a917f5393 Merge branch 'open-master' into angular-1.4.4 2015-09-08 19:26:46 -07:00
fdbc91131b [Time Controller] Update bundle definition
...for Fixed Position view to reflect changes to dependencies,
WTD-1515.
2015-09-08 17:18:39 -07:00
d2dfec3ce7 [Time Controller] Simplify retrieval of datum objects
...for historical data. Supports WTD-1515
2015-09-08 17:03:58 -07:00
351181d38e [Time Controller] Allow datum retrieval from histories
WTD-1515
2015-09-08 16:58:15 -07:00
760f4b818f [Time Conductor] Update fixed position from history
WTD-1515
2015-09-08 16:53:06 -07:00
c026bfa17d [Time Conductor] Begin adding support to fixed position
Begin adding support for universal time controller to
fixed position view, WTD-1515.
2015-09-08 16:37:10 -07:00
47b97a504e [Telemetry] Document TelemetryRequest
Document TelemetryRequest to record new parameters in
support of the time conductor, WTD-1515
2015-09-08 16:28:01 -07:00
86deec6364 [Frontend] IN-PROGRESS Theme changes continuing
open #95
Grid items;
2015-09-04 18:06:18 -07:00
ac41ed7d64 [Frontend] IN-PROGRESS Theme changes continuing
open #95
Splitter styles updated;
Tree styles updated;
2015-09-04 16:39:16 -07:00
dafcda281a Merge pull request #100 from nasa/open99
[Identity] Provide an undefined identity
2015-09-04 16:05:00 -07:00
29c460556a [Representers] Destroy representers
Invoke the destroy methods of any active representers when
a scope is destroyed; supports time controller, which needs
to accurately track when it has or hasn't been attached to
a view. WTD-1515
2015-09-04 16:00:43 -07:00
4d276888e1 [Plot] Update failining spec
WTD-1515
2015-09-04 15:53:55 -07:00
142af3db77 [Time Controller] Add JSDoc
WTD-1515
2015-09-04 15:51:46 -07:00
b66759e519 [Plot] Initially establish bounds
Initially establish domain bounds with time controller,
WTD-1515
2015-09-04 15:31:47 -07:00
c58ffb4a52 [Time Controller] Update inner span
Update inner span when outer dates change (if needed),
WTD-1515
2015-09-04 15:15:09 -07:00
600ff1a3ee [Plot] Requery on event
Requery on a query change event from a time conductor,
WTD-1515
2015-09-04 15:07:46 -07:00
77d11e1bcf [Time Controller] Fix sine wave generation
Generate sine wave correctly when start time has been specified,
WTD-1515
2015-09-04 14:24:45 -07:00
d158aa6028 [Plot] Follow time conductor more smoothly
WTD-1515
2015-09-04 14:04:09 -07:00
c2985d61b7 [Plot] Follow universal time controller
Follow displayable area of universal time controller,
WTD-1515
2015-09-04 13:57:26 -07:00
3ce40ab870 [Time Controller] Fix capability decoration
WTD-1515
2015-09-04 13:02:36 -07:00
bfb19dea74 [Time Controller] Use start time in example
WTD-1515
2015-09-04 12:52:02 -07:00
01a6d2e6a7 [Time Controller] Test ConductorRepresenter
WTD-1515
2015-09-04 12:44:49 -07:00
cc5908d26f [Identity] Provide an undefined identity
Provide an undefined identity by default, instead of
an Unknown User. This suppresses display of identity-related
features (such as the identity indicator) while still
providing a default implementation of the identityService
for platform components to utilize. nasa/openmctweb#99
2015-09-04 12:17:02 -07:00
af462ff3ee [Time Controller] Begin adding mocks
Begin adding/configuring mocks to support testing
ConductorRepresenter, WTD-1515
2015-09-04 12:12:21 -07:00
5c1d209eff [Time Controller] Simplify ConductorRepresenter
WTD-1515
2015-09-04 11:53:51 -07:00
8a76c3a425 [Time Controller] Test conductor's telemetry capability
WTD-1515
2015-09-04 10:57:50 -07:00
9ccd0b9188 [Time Conductor] Test capability decorator
WTD-1515
2015-09-04 10:47:38 -07:00
f83588d980 [Time Controller] Begin adding test cases
WTD-1515
2015-09-04 10:32:01 -07:00
a481b377cb [Time Conductor] Add terminology note to readme
WTD-1515
2015-09-04 10:24:18 -07:00
35ff4efbca [Time Conductor] Add placeholder specs
Add empty specs for classes related to time conductor, WTD-1515
2015-09-04 09:44:08 -07:00
c2971fd485 [API] Propose telemetry API revisions 2015-09-04 09:30:09 -07:00
436e010738 [Time Conductor] Broadcast changes
WTD-1515
2015-09-03 15:59:46 -07:00
37c34c668c [Frontend] IN-PROGRESS Major restructuring of /platform/commonUI/ to add themes structure
open #95
New themes bundle files, .scss and directories;
Moved constants definitions (mainly colors) from commonUI/.../_constants
to individual themes _constants files;
tweaks to mixins files;
changed pathways to font and images in commonUI/.../_constants;
2015-09-03 15:34:39 -07:00
bf4765fcb6 [Time Controller] Bind displayed control to state
Bind changes to the displayed time controller to
changes to the underlying state of the time conductor,
WTD-1515.
2015-09-03 15:13:03 -07:00
dbfb8b9861 [Time Controller] Add capability decorator
WTD-1515
2015-09-03 14:58:49 -07:00
681cd0bb9c [Time Controller] Add conductor service
WTD-1515.
2015-09-03 14:53:23 -07:00
b668fb58fb [Time Controller] Show only outermost controller
WTD-1515
2015-09-03 11:44:11 -07:00
f74da6b935 [Time Controller] Add overflow hidden
Add overflow: hidden so that time controller does not exceed
edges of the screen. WTD-1515
2015-09-03 11:40:40 -07:00
e4dec21ceb [Time Controller] Add telemetry capability wrapper
WTD-1515
2015-09-03 11:38:06 -07:00
fc2860810b [Time Controller] Allow manual date entry
WTD-1515
2015-09-03 11:03:17 -07:00
62898c921f Merge branch 'open95' of https://github.com/nasa/openmctweb into open95 2015-09-03 10:37:10 -07:00
4997fc1417 Merge branch 'mobile' of https://github.com/nasa/openmctweb into open95 2015-09-03 10:36:23 -07:00
bb1a02c8bd [Frontend] Significant re-factoring of CSS and markup
open #95
IN-PROGRESS!;
Mostly buttons and menus classes (s-btn and s-menu);
Removed unused templates and .css files;
Normalized some button containers;
2015-09-02 18:02:58 -07:00
9d6b70f433 [Time Conductor] Handle middle drag
WTD-1515
2015-09-02 17:25:41 -07:00
57a947eaef [Time Conductor] Accept drag gestures
WTD-1515
2015-09-02 17:19:20 -07:00
a18cc50a43 [Time Conductor] Begin binding control to data 2015-09-02 16:53:10 -07:00
91fe3d798f [Time Conductor] Begin adding controller
WTD-1515
2015-09-02 16:31:58 -07:00
e873389655 [Conductor] Add time conductor widget
Add widget for the time conductor using a representer,
WTD-1515.
2015-09-02 15:57:52 -07:00
678d11832c Merge remote-tracking branch 'upstream/master' into mobile 2015-09-02 15:48:44 -07:00
3310016264 [Properties] Hide rows without controls
Hide rows for domain object properties that do not have
associated controls from the Edit Properties dialog;
follow up for nasa/openmctweb#92
2015-09-02 12:01:43 -07:00
17e9e87a2b [Composition] Test composition.add
Add test case to verify the behavior of the add method
of the composition capability.
2015-09-02 11:56:37 -07:00
b2649de649 [Composition] Update specs
Update specs for changes to the return value of
composition.add, nasa/openmctweb#97
2015-09-02 11:45:52 -07:00
b1238b0c96 [Composition] Return newly-contextualized object
After adding to composition, return the newly-contextualized
object; this is regularly used by other services.
2015-09-02 11:37:47 -07:00
ba6e542d08 [Persistence] Load models from multiple spaces 2015-09-02 11:28:15 -07:00
8759fdbd95 [Composition] Update specs
Update specs to reflect usage of the add method in
the composition capability.
2015-09-02 09:37:26 -07:00
d3d94d67ea [Composition] Use composition.add from LinkService 2015-09-02 09:16:58 -07:00
b9d8b124ff [Composition] Use composition.add from link action 2015-09-02 09:08:47 -07:00
8e995eba8f [Composition] Use composition.add during creation 2015-09-01 17:11:09 -07:00
194bc41322 [Composition] Add an add method
Add a method to add new objects to the composition of
another domain object. nasa/openmctweb#97
2015-09-01 17:10:54 -07:00
2f57f47234 Merge pull request #78 from danielpacak/ignore-intellij-project-config-files
[Build] Ignore Intellij *.iml configuration files
2015-09-01 16:17:17 -07:00
59e181c0e5 Merge pull request #65 from danielpacak/tomcat-maven-plugin
[Build] Start the WAR in an embedded Tomcat Servlet Container
2015-09-01 16:15:56 -07:00
8a5c61e2e6 Merge remote-tracking branch 'upstream/master' into mobile 2015-09-01 14:50:45 -07:00
199be71f8f Merge pull request #96 from nasa/open92
[Identity] Add identity service

1. Changes appear to address issue? Y
2. Appropriate unit tests included? Y
3. Code style and in-line documentation are appropriate? Y
4. Commit messages meet standards? Y
2015-09-01 14:49:04 -07:00
ac2144d5c5 [Identity] Satisfy JSLint 2015-09-01 12:04:36 -07:00
01f2fab70f [Create] Filter out control-less properties
When properties have no control defined, don't show them
in the create dialog (but do show them in metadata, e.g.
info bubble.) For nasa/openmctweb#92
2015-09-01 11:48:15 -07:00
7562c82369 [Identity] Add default identity provider
nasa/openmctweb#92
2015-09-01 11:43:07 -07:00
c3efb29dfc [Metadata] Fix whitespace 2015-09-01 11:31:42 -07:00
bb738f9a93 [Identity] Decorate domain objects with creator
nasa/openmctweb#92
2015-09-01 11:19:53 -07:00
97071fc72c [Identity] Remove unnecessary escapement
JSLint does not like unnecessary use of unicode escapement.
2015-09-01 11:01:08 -07:00
b39753d0a6 [Entanglement] Separate out location
Separate out location property from the CreationService,
instead handle in the entanglement bundle; this is
consistent with changes for identity management (attaching
a creator to newly-created domain object models).
for nasa/openmctweb#92
2015-09-01 10:57:56 -07:00
e3eda5112c [Identity] Expose creation service as provider
Expose creation service as a provider of a composite service;
this allows it to be decorated by the identity bundle to
attach a creator, for nasa/openmct#92
2015-09-01 10:41:27 -07:00
7d94e20c8f [API] Add proposals for capability changes
WTD-1237
2015-09-01 09:36:04 -07:00
2cbe686732 [Frontend] IN-PROGRESS Refactoring to cleanup SASS file structure
open #95
Moved styles from initialization.scss to user-environ/_layout;
forms.scss, items.scss, tree.scss includes moved into main.scss;

Removed forms.css, items.css, tree.css,
Removed initialization.scss, tree.scss
2015-08-31 14:11:42 -07:00
021d105fd0 Merge remote-tracking branch 'upstream/open95' into mobile 2015-08-31 13:37:43 -07:00
7ffbc9ad2f [Remove Action] Check
Added check for traverseObject
context because prior to this,
was not checked.
2015-08-31 13:37:22 -07:00
90f62b92a5 [Frontend] Super-minor cleanups in .scss files
open #93
2015-08-31 12:54:52 -07:00
5a991076ea [Frontend] CSS and markup tweaks to enable flex layout
open #93
Layout frame and imagery markup modified;
2015-08-31 12:34:34 -07:00
eb4ea8f2d4 [Identity] Clean up JSDoc
nasa/openmctweb#92
2015-08-28 16:41:41 -07:00
9692596859 [Identity] Change type name
Change type name for identity metadata to make it easier
to correlate back to the identity service. nasa/openmctweb#92
2015-08-28 16:38:36 -07:00
ce152881cc [Identity] Add example identity service
nasa/openmctweb#92
2015-08-28 16:36:57 -07:00
f40e7d7105 [Identity] Add identity indicator
nasa/openmctweb#92
2015-08-28 16:36:41 -07:00
a8fc5ee8ed [Identity] Add license headers 2015-08-28 15:49:30 -07:00
5400f51204 [Identity] Include identity bundle
...in list of active bundle, nasa/openmctweb#92
2015-08-28 15:47:30 -07:00
29c9b2a08f [Identity] Add identity aggregator
Add an aggregator to handle exposing the user's identity,
nasa/openmctweb#92
2015-08-28 15:46:15 -07:00
e4d136d345 [Persistence] Update spec
Update spec for persistence capability to reflect changes for
nasa/openmctweb#92
2015-08-28 15:46:06 -07:00
620c0415cf [Persistence] Use create from persistence capability
...when an object hasn't been previously persisted. This allows
for compatibility with persistence services which disallow
updates for nonexistent objects (which is not abnomal behavior.)
nasa/openmctweb#92
2015-08-28 15:45:48 -07:00
54bf39344a [Mobile] Multiple mobile Safari fixes
open #74
New mixins to prefix '-webkit-' to props and vals;
'flex' classes use new webkit mixins;
Fixed flex layout of .object-browse-bar and
.context-available element;
Migrated CSS to remove small .scss include files;
2015-08-27 17:05:50 -07:00
8f8dd6c11f [API] Propose nomenclature change
WTD-1237
2015-08-27 16:01:47 -07:00
683b3f7511 Merge remote-tracking branch 'github/mobile' into open74-m-master 2015-08-27 12:56:47 -07:00
510e7d1261 [Mobile] Merge
Merged with master, getting the
RemoveAction changes.
2015-08-27 12:15:48 -07:00
63b41d796a [Mobile] Clean Up
Cleaned up context menu gesture
comments with spacing.
2015-08-27 12:06:25 -07:00
80a91970f6 Merge remote-tracking branch 'github/mobile' into open74-m-mobile 2015-08-27 11:34:14 -07:00
f0c64b6b92 [Browse] Back Arrow
Refactored Back Arrow to work same as prior
commit, however with less if else statements.
Returns if not at root, otherwise root is set to
true.
2015-08-27 10:45:48 -07:00
48136c2265 [Context] Back Arrow
Checks the Back Arrow in both checkRoot and
navigateToParent, also checks grandparent in both.
This allows the back arrow to hide in search when
context is unavailable.
2015-08-27 10:42:11 -07:00
1961adf8d6 [Mobile] Fixed font-size and line-height problem in tree
open #74
2015-08-27 10:33:32 -07:00
5230bdfc6b Merge pull request #86 from nasa/open51
Addresses nasa/openmct#51
2015-08-27 10:02:24 -07:00
97acf2012a Merge pull request #87 from nasa/open84
[Search] Hide link icons in search results
2015-08-27 10:00:34 -07:00
687d86790e [Action] RemoveAction
Added comments regarding change in
checking of traversed objects.
2015-08-27 09:49:26 -07:00
3ec4cc099b [Action] RemoveAction
Adjusted unit tests for checking if
traverseObject is undefined. Also removed
unnecessary ROOT_ID variable.
2015-08-27 09:41:00 -07:00
dadbf3f6dc [Action] RemoveAction
Checks if the object exists, instead of
checking if the ROOT is specifically reached,
when traversing up to ancestors.
2015-08-27 09:17:11 -07:00
c4c4c42415 [Elastic] Elastic Bundle
Elasticsearch bundle.json reverted back to
original.
2015-08-27 09:11:20 -07:00
8c4c65241a [Mobile] Tree
WHen selecting a leaf node on phone-portrait,
now the left menu will close if you select the
object name or the arrow.
2015-08-27 09:02:55 -07:00
67cb5f8077 [Mobile] Tests
Completed test for the BrowseController
Spec that takes in an undefined context.
2015-08-26 21:08:33 -07:00
bb2f086623 [Mobile] Leaf Node of Folder/Layout
Domainobjects that can hold an array of
domain objects return '[]' instead of
undefined, when checking for model.composition.
Now checks for empty array and navigates to layout/
folder that has no children.
2015-08-26 20:21:36 -07:00
a0169ad158 [Mobile] Browse Controller
Adjusted BrowseController to hide the
back button if current object represented/
selected has no context.
2015-08-26 20:20:16 -07:00
6e172359b4 [Mobile] IN PROGRESS: Significant re-org of search results styling
open #74
Removed all styles for search-result-item
in search/_search.scss and significantly re-orged .tree-item in
_tree.scss and mobile/_tree.scss to control
search-result-item styles;
2015-08-26 18:15:29 -07:00
d33678276c [Mobile] IN PROGRESS: Re-orgs after merge of Shivam's mobile branch
open #74
Re-applied changes to browse.html;
Added mobile/.../_search.scss;
Removed unused mobile/search/layout.scss;
Moved inclusion of search/_search.scss from tree.scss to main.scss;
2015-08-26 17:49:40 -07:00
1cbca41c53 Merge remote-tracking branch 'github/mobile' into open74-merge-mobile 2015-08-26 16:55:15 -07:00
a27083c28c [Mobile] IN PROGRESS: tweaked padding in form-row
open #74
2015-08-26 16:54:13 -07:00
def5e17bb8 [Mobile] Merge
Merged open73 into mobile. Search bar is currently
covering the create button slightly.
2015-08-26 14:07:52 -07:00
2cd1907b71 [Search] Temporarily hide link icons
Hide link icons in search results to temporarily
fix issue #84.
2015-08-26 13:40:28 -07:00
b8b9721ddc [Mobile] IN PROGRESS: Hide name in view-switcher in mobile
open #74
2015-08-26 13:04:09 -07:00
f80266b23f [Mobile] IN PROGRESS: Styling in forms, overlay and tree
open #74
.section-header and form-row styles changed in forms/_elems.scss;
significant changes to overlay in mobile: full-screen, close button, more;
tree hover bg changed to use rgba(#fff, 0.1);
removed "Hide title by default" in core/bundle.json;
2015-08-26 12:34:45 -07:00
9a3009f327 [Mobile] IN PROGRESS: Styling on Create menu
open #74
2015-08-26 10:50:14 -07:00
2542255342 [Mobile] AgentService call
window referred to in TreeNodeController added as
keyword to skip in top comment.
2015-08-26 10:16:22 -07:00
e7563ff4e9 [Action] Merge
Merged with master.
2015-08-26 10:11:23 -07:00
89bfa54563 [Mobile] IN PROGRESS: Misc layout tweaks; treeview pane styling
open #74
Treeview pane darkened;
Spacing in frame tweaked;
#content-area in right pane hidden
when treeview expanded for
phone portrait only;
Removed mobile-pane and
desktop-browse classes from markup;
2015-08-26 10:08:57 -07:00
a507557cec [Remove] Remove Action
Tweaked remove action to return
on finding the object that is being removed and
checking if it can be navigated to. Also completed
tests for RemoveAction.
2015-08-26 10:07:51 -07:00
793c99ac2f [Remove] Tests
RemoveActionSpec test complete, tests if
parent is object is removed. Also tests if
object not in object path is removed.
2015-08-26 10:02:16 -07:00
39bd292886 [Mobile] IN PROGRESS: Overlay and form cleanups
open #74
Widths and layout strategy fixed for label and
controls in form when appearing in mobile;
Overlay margins adjusted;
Cleaned up font size, line-height in tree items;
2015-08-26 09:43:51 -07:00
e8bc9ecc1a [Search, Mobile] Merge
Merged search/master into mobile. Adjusted the
search bar to work on branch and fit accordingly.
2015-08-25 15:27:21 -07:00
0fa330adff [Mobile] Tests
Adjusted TreeNodeControllerSpec to
test setObject prototype.
2015-08-25 14:49:38 -07:00
509badb225 Merge pull request #55 from nasa/search
[Search] Create search UI
2015-08-25 14:41:19 -07:00
9cd57614e4 [Mobile] AgentService & Tests
Adjusted the getOrientation of agentService to
inject the window instead of calling for it in
agentService. Also adjusted treeNodeController
for this. Added tests for the agentService's
getOrientation function.
2015-08-25 14:33:48 -07:00
d80c359a86 [Mobile] Tests
Fixed BrowseControllerSpec test
to account for new  call. Now
expects destroy and select-obj calls.
2015-08-25 14:20:36 -07:00
07d0706cd1 [Mobile] IN PROGRESS:
open #74
Added name for "base" (unknown) type in core/bundle.json;
Fixes to grid-item .details element:
- ellipsize,
- type now displayed properly;
- number of items with correct plural syntax;
2015-08-25 14:17:34 -07:00
fd5a911d50 [Mobile] IN PROGRESS: Fixed object-browse-bar flex
open #74
Also set left position of .object-browse-bar;
2015-08-25 13:51:02 -07:00
c71f1fe447 [Mobile] IN PROGRESS: Significant refactor in mobile/_layout.scss
open #74
Made view-switcher visible when browsing via mobile;
Fixed class in browse.html markup from left-menu to left;
Moved object-browse-bar, top-bar classes from _controls into _layout;
Renamed and simplified menu widths in mobile _constants;
Really significant refactor of mobiles/_layout;
Tweaks in user-environ/_layout;
TO-DO: figure out why object-browse-bar flex styles not
working in mobile;
2015-08-25 13:34:37 -07:00
cd46dab5c1 [Mobile] Merge
Merged with master and resolved conflicts.
2015-08-25 12:36:50 -07:00
e1858bf0ae [Mobile] IN PROGRESS: Moved position of view-switcher
open #74
view-switcher in object browse and edit moved to precede
action buttons, with margin;
Re-located CSS for .btn, etc. from _controls.scss to _layout.scss;
Cleaned up line-spacing in object-header in .frame;
2015-08-25 10:15:14 -07:00
7542c6d49a [Mobile] IN PROGRESS: Cleanups on .btn for line-height, sizing, etc.
open #74
2015-08-25 09:41:38 -07:00
6571da922d [Search] Update style for link icons
Added styling to correctly position and color
link icons within the search resutls list.
2015-08-25 08:56:32 -07:00
13b66cd215 [Mobile] IN PROGRESS: Only display custom scrollbars in desktop mode
open #74
2015-08-24 17:04:38 -07:00
aca06c6007 [Action] Remove Action Merged
Remove Action merged to allow removal of
parent or current selected object, then
navigation to lowest existing parent if
currently located in deleted object.
2015-08-24 16:46:48 -07:00
5184e08a5b [Mobile] IN PROGRESS: Tweak to TypeImpl to return glyph for unknown types
open #74
Thanks Victor!;
2015-08-24 16:45:55 -07:00
69c6d4bd26 [Mobile] IN PROGRESS: Tweaks to labels;
open #74
Cleaned up layout of bottom-bar;
Fixed class selector for ue-bottom-bar;
2015-08-24 16:31:38 -07:00
6a2bdd103b [Mobile] Hide Tree
On selecting a node in the tree, if the
user is on phone and in portrait, than
emit up to the browse controller to call
treeSlide(), which will hide the tree menu.
Also adjusted the agent service to properly
check for orientation using window.innerHeight/
Width. Also created function for the selection
of an object in BrowseController.
2015-08-24 16:17:58 -07:00
76c4b96683 [Mobile] IN PROGRESS: Menu hide/show fixes; font-size tweaking
open #74
Changed .right-repr to use translateX in phone portrait mode;
font-size tweaking;
Refactored css organization in mobile/_layout.scss;
2015-08-24 15:24:35 -07:00
c81e2dbb4a Merge branch 'master' of https://github.com/nasa/openmctweb into search
Conflicts:
	platform/commonUI/general/src/controllers/TreeNodeController.js
	platform/persistence/elastic/src/ElasticSearchProvider.js
2015-08-24 13:14:43 -07:00
44ed4e0e0d [Mobile] IN PROGRESS: Minor tweak for line-height in top-bar
open #74
2015-08-24 12:39:50 -07:00
b860db302c [Framework] Bump angular to 1.4.4
Upgrade angular to latest version, also update angular-route.
2015-08-24 12:39:48 -07:00
e96d3e3738 [Mobile] IN PROGRESS: Significant redo of object-header
open #74
Added .bar .l-flex using display: flex in object header;
2015-08-24 12:22:08 -07:00
f1ca9ff15e Merge remote-tracking branch 'origin/open1334' into open1416 2015-08-24 11:55:27 -07:00
9eb23a62bc Merge branch 'open75' into open-master 2015-08-24 10:42:19 -07:00
9b6a839c06 Merge branch 'open-jpl48' into open-master 2015-08-24 10:39:17 -07:00
6aaa887e65 [Imagery] Start off with empty timestamp
Show nothing in the timestamp area when there is no
data yet available for image telemetry, WTD-1170.
2015-08-24 09:39:42 -07:00
1e332da11b [Docs] ElasticSearch is not Couch 2015-08-24 09:04:03 -07:00
3a050cc5b8 [Style] space after operator 2015-08-24 09:03:31 -07:00
039d692e4c Forgot to add new .scss file
open #74
2015-08-21 15:10:19 -07:00
ee608cc4a4 [Mobile] IN PROGRESS: General fixes, spurred by mobile, for object-header
open #74
Attempting to layout using flex - not working;
See http://jsfiddle.net/charlesh88/cpf9zjts/9/ for working example;
New _flex.scss added;
This commit is changed elements that are mostly solid;
2015-08-21 15:09:23 -07:00
d0183d44c9 [Actions] Remove Action
When an ascendant or parent or currently
selected object is removed the user is navigated
to the parent of the object being removed. Added variables
to RemoveAction test to test removing currently selected
domainObject.
2015-08-21 13:04:47 -07:00
a7cc06a28b Merge remote-tracking branch 'upstream/master' 2015-08-21 09:08:00 -07:00
da8eb334e3 [Mobile] Sanding of mobile styles continues, in progress
open #74
CSS and markup changes for split pane holders;
drop shadow added to tree area;
Tree item cleanups;
This or earlier commit broke treeview nav action;
TO-DO: fix treeview nav action to hide menu;
2015-08-20 18:36:44 -07:00
67592def90 [Mobile] Sanding of mobile styles, in progress
open #74
CSS and markup changes for mobile,
particularly on grid-item;
Mod to behavior in tree for mobile nav:
leaf node grid-item click now navs to item;
Fixed info-button to work properly with mod to
infoButtonGesture.js;
2015-08-20 16:11:45 -07:00
3484b315cf [Mobile] Sanding of mobile styles, cherry-pick to master
open #74
CSS and markup changes for mobile
that are good for master now;
2015-08-20 16:09:35 -07:00
553e226a5d [API] Add proposal for removing delegation 2015-08-20 14:34:59 -07:00
b1e1e85bbd Merging in latest openmctweb master
open74
Had to resolve conflicts
2015-08-20 10:36:41 -07:00
1e79c507c8 [Build] Ignore Intellij *.iml configuration files 2015-08-20 09:25:27 +02:00
249a9b2eb2 [Frontend] Better sorting indicators added to styles
JPL #48
Simplified styles to indicate sort by asc and desc in table th elements;
(cherry picked from commit 15a2416)
2015-08-19 18:17:15 -07:00
02abbdf4fe Resolving conflict in platform/.../theme-espresso.css
#75
Merged in master branch;
Re-rendered platform/.../theme-espresso.css;
2015-08-19 16:22:21 -07:00
08d68f99a5 [Frontend] Fix word wrapping issues in hover bubble
#75
CSS modified to utilize word-break property;
2015-08-19 16:09:55 -07:00
f27e4d6e06 Merge branch 'open-master' into open1482c
Merge in latest in preparation to merge; WTD-1482

Conflicts:
	platform/commonUI/browse/src/creation/CreationService.js
	platform/core/src/models/RootModelProvider.js
	platform/entanglement/src/services/LinkService.js
	platform/entanglement/src/services/MoveService.js
2015-08-19 15:00:52 -07:00
9c578c53db Merge pull request #64 from nasa/open-965
[Location] track location of objects and distinguish links from originals

WTD-965
2015-08-19 14:28:00 -07:00
a4a9acd2ea Merge branch 'open-master' into open-965
Merge in latest into topic branch for WTD-965 to
resolve conflicts.

Conflicts:
	platform/commonUI/general/res/css/theme-espresso.css
2015-08-19 14:16:56 -07:00
c118234bbf [Style] Brace after if criteria 2015-08-19 13:55:02 -07:00
dfacf08e45 [API] Propose registering instances
WTD-1237
2015-08-19 13:44:34 -07:00
e7fa0e9f21 [API] Add proposal w.r.t. third-party APIs
WTD-1237
2015-08-19 13:26:58 -07:00
a94763041e [Move] correct logic and specification 2015-08-19 13:16:36 -07:00
ccfafb6f89 [API] Add more proposals
WTD-1237
2015-08-19 13:07:54 -07:00
26892e7104 [Location] isLink/isOriginal are antonyms
Simplify implementation of isLink/isOriginal for better maintainability.
2015-08-19 11:49:45 -07:00
5c74365f4b [Root] Root model provider sets location
Root model provider sets the location of roods so that the location
capability does not need special handling for this.
2015-08-19 11:49:03 -07:00
94854e5965 [Location] can retrieve contextual location
Clarify naming of method for retrieving contextual location of a domain
object.

Default behavior for objects that do not have a context is to return
undefined.  Note that default behavior is not specified and could change
if needed.
2015-08-19 11:33:45 -07:00
9cf30f4213 [Location] setPrimaryLocation takes location.
Rename "persistLocation" to be more clearly named, and make it take an
argument to allow for greater control outside the capability.
2015-08-19 11:25:41 -07:00
eb776e69c0 [JSDoc] Document LocationCapability constructor 2015-08-19 11:13:24 -07:00
c4dd4f5c45 [Mobile] Merge
Merged with master.
2015-08-19 11:01:58 -07:00
33a63947e5 Merge branch 'open70' into search 2015-08-19 10:06:32 -07:00
432ec519b6 Merge branch 'search' into open70
Conflicts:
	platform/commonUI/browse/res/templates/browse.html
2015-08-19 10:05:38 -07:00
7f65ba236c [Frontend] Tweaks to Load More results button
#70
2015-08-19 09:44:23 -07:00
3a86f5e746 [Frontend] Tweak to Load More button label
#70
2015-08-18 19:54:50 -07:00
4e3e3653a3 [Frontend] Styling for search elements
#70
Significant .scss and markup changes across search;
New symbols font (v2.2) char for clear icon;
To-do: style "load more" element;
2015-08-18 19:51:47 -07:00
097794d94f [API] Smaller redesign notes 2015-08-18 17:55:15 -07:00
d3ea67fbd9 [Search] Templates vs representations
Made the search and search-menu templates into
representations, to be more consistent.
2015-08-18 16:54:36 -07:00
cd51c359eb [API] Add notes on bundles to API redesign 2015-08-18 16:37:58 -07:00
2adf84b082 [API] Add proposal for wrapping Angular services 2015-08-18 16:14:14 -07:00
9ebc04ef14 [Search] Cleanup and documentation 2015-08-18 16:08:16 -07:00
4c00d5d58f [API] Propose view changes 2015-08-18 15:45:36 -07:00
e426e0e5ec Merging in latest from master
#70
2015-08-18 15:23:42 -07:00
844d608fb9 [API] Begin proposing changes 2015-08-18 14:02:30 -07:00
3d1e1659c2 [Search] Update tests
for 100% coverage.
2015-08-18 12:37:47 -07:00
17f2bb966b [Search] Update tests and remove redundancy
Updated the generic provider test. Removed index
checking from the generic search worker, because
that checking is already done (more efficiently)
in the generic search provider.
2015-08-18 12:27:04 -07:00
158f549df2 [Search] Change back bundles.json 2015-08-18 11:48:07 -07:00
a98b65286f [Search] Update tests
Updated the SearchController tests for more coverage,
due to additions to the controller. Fixed a small
logic error in controller.areMore()
2015-08-18 11:28:12 -07:00
17aa666519 [Search] Remove unnecsissary controller
Removed the SearchItemController, as the logic was simple
enough to be done in one line in the search item
representation html.
2015-08-18 10:19:20 -07:00
f6cf4c3215 [Code Style] Fix error in persistence
Fix typo in persistence provider for ElasticSearch related
to refactoring to use prototypes, WTD-1482.
2015-08-17 17:00:21 -07:00
86f0a9100f [Code Style] Fix merge error
Fix merge error in ContextMenuAction which caused
test failure. WTD-1482.
2015-08-17 16:57:46 -07:00
f4b87cf70d [Project source] Updated icomoon.io symbols font project file 2015-08-17 15:47:28 -07:00
841273edf6 [Code Style] Add CONTRIBUTING.md
Add CONTRIBUTING.md to formalize changes to code style
requirements for WTD-1482.
2015-08-17 15:22:26 -07:00
366ec3d516 [Frontend] Styles for tabular views and view sections
Original issue: https://github.jpl.nasa.gov/MissionControl/vista/issues/30

New CSS and symbols to support tabular views;
Required by JPL branch vista30 (https://github.jpl.nasa.gov/MissionControl/vista/tree/vista30)
2015-08-17 15:11:27 -07:00
a4e2aba6dc [Code Style] Add trailing newline
WTD-1482.
2015-08-17 15:07:47 -07:00
f4ae86eb53 Merge remote-tracking branch 'github/master' into open1482c
Conflicts:
	platform/representation/src/actions/ContextMenuAction.js
2015-08-17 15:05:34 -07:00
3a932f5443 [Search] No searching root
Removed the root type from the search menu
types, so searches through the current UI
will not reutrn root objects.
2015-08-17 14:32:25 -07:00
ce58aff18a [Search] Remove unused code 2015-08-17 14:31:43 -07:00
24ee8ec063 [Search] Remove old files
Remove old search view files from before
the left tree bar search.
2015-08-17 13:53:37 -07:00
eee8790682 [Search] Add tests
Added tests for SearchMenuController.
2015-08-17 13:46:28 -07:00
083932e902 [Search] Moved search menu to a template
Created a search-menu template and corresponding controller.
Moved functions out of SearchController to SearchMenuController.
The two controllers share information through ngModel.
2015-08-17 12:34:50 -07:00
9ab06cfdd2 Merge remote-tracking branch 'github-open/open1506' into open-master 2015-08-17 11:48:23 -07:00
e159b7a15d [Search] mct-control textfield breaks focus
Set up bundle.json so that the search bar could
be a mct-control, but left the control itself
commented out because then CSS styling would not
work due to lack of access to parent elements.
2015-08-17 11:47:40 -07:00
4481c44c4b [Code Style] Refactor search to use prototypes
WTD-1482.
2015-08-17 11:20:23 -07:00
6d660d48ca [Search] Change default search menu
The search menu now opens to having none of the types
checked, but 'ALL' checked. Checking anything besides
'ALL' unchecks 'ALL' and begins filtering search by
type.
2015-08-17 11:17:02 -07:00
bf417a14e0 Merge remote-tracking branch 'origin/open-master' into open1482c
Merge latest into topic branch for WTD-1482
2015-08-17 11:01:39 -07:00
4495c5b64a [Build] Restore snapshot status
Bump version number and restore snapshot status to
begin sprint Umbriel, WTD-825.
2015-08-17 10:54:30 -07:00
0cee5ad380 Merge remote-tracking branch 'upstream/master' 2015-08-17 10:50:19 -07:00
f22c0a7ee4 [Search] Remove unused dependency
Remove unused dependency from generic search worker,
avoids WTD-1511.
2015-08-17 10:50:12 -07:00
83fce6ad77 [Search] Remove unused dependency
Remove unused dependency from generic search worker,
avoids WTD-1511.
2015-08-17 10:45:02 -07:00
7b4934ec55 [Search] Shorter menu transition 2015-08-17 10:33:26 -07:00
2ef0c2a8cb [Search] Documentation
More specific descriptions of angular scope
variables in searchcontroller.
2015-08-17 10:33:10 -07:00
d46eea64e4 Merge remote-tracking branch 'github/api-redesign' into api-redesign
Conflicts:
	docs/src/design/proposals/APIRedesign.md
2015-08-17 09:56:46 -07:00
4d4fe7f626 [API] Incorporate newer feedback 2015-08-17 09:49:34 -07:00
12760b63b9 [API] Add additional feedback 2015-08-17 09:38:30 -07:00
80c99d2eb6 Merge branch 'master' into search 2015-08-17 09:35:30 -07:00
2ccca016a5 [Code Style] Use prototypes in telemetry bundle
WTD-1482
2015-08-14 16:55:17 -07:00
cb0f72052f [Search] Update tests
Changed references to isLoading to
mockScope.loading
2015-08-14 16:46:22 -07:00
1030eff943 [Search] Documentation 2015-08-14 16:44:34 -07:00
5e3caf6252 [Search] Shorter menu transition 2015-08-14 16:35:14 -07:00
aa67489404 [Search] Remove unnecissary funtions
Removed isLoading, hasInput, and clear
functions in favor of having the logic
within the search template.
2015-08-14 16:33:23 -07:00
1ea6f7620e [Code Style] Begin refactoring telemetry bundle
Begin refactoring telemetry bundle to use prototype
for methods, WTD-1482.
2015-08-14 16:14:15 -07:00
365134b085 [Code Style] Use prototypes in representation bundle
WTD-1482
2015-08-14 16:13:46 -07:00
07a2065c11 [Code Style] Use prototypes in policy bundle
WTD-1482.
2015-08-14 15:49:47 -07:00
f8cb3f464c [Code Style] Use prototypes in persistence queue
WTD-1482
2015-08-14 15:43:37 -07:00
31337eaf4f [Search] Text clear size & hover
The search bar clear button now gets
highlighted when hovered over, and the
click area is slightly larger.
2015-08-14 15:38:02 -07:00
3e8ea972c2 [Code Style] Use prototypes in persistence bundles
WTD-1482
2015-08-14 15:26:24 -07:00
0f6287e715 [Search] Fix overflow
Fixed the text positioning in the filter
options display so that the text does not
overflow the bottom.
2015-08-14 15:22:53 -07:00
0cfd881510 [Search] Menu transition and highlights
The search menu fades in and out when open
and closed. Hovering over 'ALL' in the
menu now highlights it.
2015-08-14 15:05:54 -07:00
edca2a9f03 [Code Style] Use prototypes in framework layer
WTD-1482
2015-08-14 14:50:48 -07:00
cc05c50769 [Search] Smaller checkbox size
in the search menu.
2015-08-14 14:11:26 -07:00
adbb3486c5 [Search] Added ClickAwayController test
Added a test for the click away controller. Because
the controller was copied from
platform/commonUI/general, so was the test.
2015-08-14 13:56:27 -07:00
ced1609e51 [Search] Update tests
Updated SearchController test for the addition of the
controller's dependency on types[].
2015-08-14 13:52:57 -07:00
7fe866060b [Code Style] Use prototypes in forms bundle
WTD-1482.
2015-08-14 13:44:08 -07:00
7bc9b83aac [Search] Remove unused watch 2015-08-14 13:35:49 -07:00
8fae298fde [API] Fix heading depth 2015-08-14 12:32:51 -07:00
7ddaa4614b [API] Fix markdown formatting 2015-08-14 12:23:11 -07:00
f1bc15bf4f [API] Begin adding notes for API redesign 2015-08-14 12:18:53 -07:00
d6d16f8f1c [Search] Font and spacing
Use em for filter options positioning. Cursor
as pointer for menu. Results list padding fix.
2015-08-14 11:58:32 -07:00
bcea3832ed [Search] Search menu & display tweaks
Clicking on names of options in the search
menu will now toggle the checkboxes. The
filter options display now says when no
filters are selected. Slightly moved the
search menu to the left.
2015-08-14 11:06:40 -07:00
94662cb904 [Search] Search filter options display style
Created a box around the options display.
2015-08-14 10:52:03 -07:00
26ab9af911 [Search] Dynamic positioning and height
The scroll bar for the search results changes
height according to how many filter options
are displayed above it, without dissapearing
below the bottom of the page.
2015-08-14 10:19:13 -07:00
f38b89a582 [Search] style 2015-08-13 16:56:58 -07:00
c17ec19f97 [Search] Filter options display styling 2015-08-13 16:54:15 -07:00
2ca7a175bd [Search] Relative positioning
Search results list now displays below the
filter options display dynamically.
2015-08-13 16:40:51 -07:00
371b690072 [Search] Fix filter display names
Changed form type keys to names
2015-08-13 16:23:13 -07:00
c62e73f863 [Search] Checkbox style
Changed the checkboxes to be not blue.
2015-08-13 16:06:10 -07:00
5726dd0e0c [Search] Filter display
Added display below the search bar of what
search filters are currently active.
Not yet correctly aligned wrt search
results list.
2015-08-13 15:11:22 -07:00
1c187c3914 [Code Style] Begin refactoring forms bundle
WTD-1482
2015-08-13 14:44:27 -07:00
74cf4d73d5 [Search] Hover transitions 2015-08-13 14:22:07 -07:00
c8694f182a [Search] Menu opening
Menu opens when icon is pressed. Closes when
cliked away from, but not when clicked on.
2015-08-13 13:59:56 -07:00
2e767c94c4 [Search] Update load-more, add check-all
Make the 'Load more' button work with the
new filtered results. Added 'ALL' to the top
of the search menu which allows the user to
toggle all of the filtering options easily.
2015-08-13 13:19:25 -07:00
6302eee17e [Code Style] Use prototypes in Scrolling List bundle
WTD-1482.
2015-08-13 12:35:48 -07:00
820c15d74c [Code Style] Use prototypes in Plot bundle
WTD-1482.
2015-08-13 12:12:15 -07:00
b26aa3cab7 [Search] Filter search
Filtering search using the search menu works.
Load more does not work with this yet.
2015-08-13 11:45:46 -07:00
c51856522c [Search] Menu checkboxes and labels
Added checkboxes with styling to the menu. Set
up a types list for the menu.
2015-08-13 10:59:12 -07:00
aefad6fdd3 [Code Style] Continue refactor of Plot bundle
Continue refactoring Plot bundle to use prototypes,
WTD-1482
2015-08-13 10:26:04 -07:00
8371b1b25b Merge pull request #59 from slhale/searchservice
[Search] Created search service
2015-08-12 17:05:50 -07:00
a9c85d5241 [Search] Search menu style
Added caret to top of menu.
2015-08-12 16:38:38 -07:00
edf52f32ad [Search] Search menu
Creating a search menu which will allow for
more specific search options.
So far have started top-down with styling.
In progress.
2015-08-12 16:13:36 -07:00
18bc7d3637 [Code Style] Begin using prototypes in Plot bundle
WTD-1482
2015-08-12 14:49:03 -07:00
175490e1f7 [Code Style] Use prototypes in Web Page bundle
WTD-1482
2015-08-12 14:32:05 -07:00
3492cd3942 [Code Style] Fix bug introduced by refactor
Do some extra checking, since capabilities may have
properties which are note methods. WTD-1482.
2015-08-12 13:57:17 -07:00
ed53808556 [Code Style] Use prototypes in Layout bundle
WTD-1482
2015-08-12 13:45:48 -07:00
41ddb76385 [Search] Remove unnecissary line 2015-08-12 13:24:39 -07:00
94531a39d0 Merge branch 'master' of https://github.com/nasa/openmctweb into searchservice 2015-08-12 13:17:17 -07:00
55dd8cb1a8 Merge branch 'master' of https://github.com/nasa/openmctweb into search 2015-08-12 13:17:01 -07:00
eefc746567 [Search] Fix results display
Search results are now properly displayed again.
2015-08-12 13:05:30 -07:00
0218bad9e8 [Search] Clear icon padding and transition 2015-08-12 12:58:22 -07:00
dd993c81a7 [Search] Clear icon working
Clicking on the clear icon now clears
the input text in the search bar.
2015-08-12 12:46:01 -07:00
3db62edf59 Merge remote-tracking branch 'github/master' into open-master
Conflicts:
	README.md
2015-08-12 12:19:53 -07:00
914c823675 [Tests] Comment out failing tests
Comment out tests which relate to object types not
yet in open source, WTD-1505
2015-08-12 11:57:56 -07:00
a76e54483a [Search] Clear icon tweaks
Comments and CSS. Still not clickable.
2015-08-12 11:20:02 -07:00
515470fa6a [Search] Timeout length & indexed check
Changed timeout to 0 ms. Changed check for
already indexed to an empty return.
2015-08-12 11:03:10 -07:00
cab675c8ca [Search] Timeout length & indexed check
Changed timeout to 0 ms. Changed check for
already indexed to an empty return.
2015-08-12 10:57:37 -07:00
deb9e3e2ee [Tests] Change Chrome binary env variable
Use CHROME_BIN as the environment variable for nonstandard
Google Chrome binary locations; this is the same variable
used by Karma, so configuration is simplified. WTD-1505.
2015-08-12 10:28:20 -07:00
3555f41f3e [Search] Adding clear text button
It is in place, but clicking on it does nothing yet.
2015-08-12 10:27:34 -07:00
b6b716b767 [Tests] Update protractor instructions
WTD-1505
2015-08-12 10:27:24 -07:00
7aea1647a2 [Tests] Ensure local storage is used
Ensure local storage is used for Protractor tests,
WTD-1505.
2015-08-12 10:24:49 -07:00
b74cbf1969 Added Window/Unix Freindly String Compare functions 2015-08-12 10:24:49 -07:00
eb10cbf87c Cleaned Up Directory 2015-08-12 10:24:49 -07:00
7918d7b287 Updated README and Renamed Tests 2015-08-12 10:24:49 -07:00
fde0dc2a35 Added start.js Creates 'log' folder 2015-08-12 10:24:10 -07:00
85f9d5a2da Added Start Run Stop Scripts 2015-08-12 10:23:58 -07:00
ef7c1bd025 Added Fix for Protractor Test 2015-08-12 10:23:50 -07:00
9dd520f17b [Search] Break up item indexing
Use timeouts to make the generic search's item
indexing not block up the page.
Updated tests accordingly.
2015-08-12 10:06:27 -07:00
a9e2d48036 [Code Style] Use prototypes in Imagery bundle
WTD-1482
2015-08-12 09:57:05 -07:00
0520f1c70c [Search] Update tests
Test creation of the generic search provider
provides mock timeout argument. Slight change to
tree indexing test due to use of useCapability
function.
2015-08-12 09:53:23 -07:00
3b62f1a979 [Search] Break up item indexing
Use timeouts to make the generic search's item
indexing not block up the page.
2015-08-12 09:42:21 -07:00
d701567b70 [Code Style] Use prototypes for Events bundle
WTD-1482
2015-08-11 16:01:16 -07:00
7911909c5f [Code Style] Use prototypes for execution bundle
WTD-1482.
2015-08-11 15:02:52 -07:00
b93d752c88 [Code Style] Use prototypes in entanglement bundle
WTD-1482
2015-08-11 14:58:31 -07:00
5e4dcc1e35 [Code Style] Fix typo
Fix typo in JSDoc annotation, WTD-1482
2015-08-11 14:53:45 -07:00
9939c809be [Search] Adjust result list padding 2015-08-11 14:43:06 -07:00
89cb6867bd Merge branch 'master' of https://github.com/nasa/openmctweb into search 2015-08-11 14:32:39 -07:00
98801cb5d6 [Search] Remove unnecissary 2015-08-11 14:31:12 -07:00
48693df51f [Search] Input checks
More checks to see if the input is empty
before doing search computations.
2015-08-11 13:52:23 -07:00
23bc246a48 [Search] Search icon
Search icon now is not visible when text is
entered in the search bar, even when the bar
is not in focus.
2015-08-11 13:18:05 -07:00
11a45e4db0 [Search] Input checks
More checks to see if the input is empty
before doing search computations.
2015-08-11 13:08:58 -07:00
c450c22ddd [Code Style] Satisfy JSLint
Add missing semicolons etc. to satisfy JSLint after
changes for WTD-1482.
2015-08-11 13:03:06 -07:00
c19b3384ca [Code Style] Remove JSDoc script
Remove script which added extra JSDoc annotations,
WTD-1482.
2015-08-11 12:58:51 -07:00
b7765ff388 [Code Style] Use prototypes in platform
WTD-1482
2015-08-11 12:57:31 -07:00
f377c7cb71 [Code Style] Use prototypes in containment bundle
WTD-1482.
2015-08-11 11:01:13 -07:00
aa08db1050 [Code Style] Avoid copying window/scope
Avoids Angular errors; WTD-1482.
2015-08-11 11:00:56 -07:00
a48a0820ad [Search] Search icon transition 2015-08-11 10:56:31 -07:00
109d933945 [Search] Fix test file path 2015-08-11 10:42:10 -07:00
7b471e5379 [Search] Search icon
Moved the search icon to appear within the
text input area, and dissapears when the
input area is focused.
2015-08-11 10:35:08 -07:00
de291ad3b1 [Code Style] Use prototypes in inspection bundle
WTD-1482
2015-08-11 10:00:56 -07:00
140d767026 [Code Style] Use prototypes in general UI bundle
WTD-1482.
2015-08-11 09:47:54 -07:00
be5cad212a [Code Style] Use prototypes in Edit bundle
WTD-1482.
2015-08-10 16:38:13 -07:00
efc42aa8f2 [Code Style] Use prototypes in Dialog bundle
WTD-1482.
2015-08-10 12:53:55 -07:00
f8a0ddb484 [Code Style] Avoid retaining reference to window
Avoid https://docs.angularjs.org/error/ng/cpws
by changing way reference to  is retained.
WTD-1482.
2015-08-10 12:39:56 -07:00
3a0ba4f5a6 [Framework] Allow prototype-style constructors
WTD-1482.
2015-08-10 12:31:44 -07:00
a77920bd18 [Code Style] Use prototypes in Browse bundle
WTD-1482.
2015-08-10 11:52:23 -07:00
78146d97f8 [Code Style] Use prototypes in About bundle
WTD-1482.
2015-08-10 10:19:02 -07:00
2d5ec97dc3 [Menu] Listen to element directly
Add listener to menu element directly instead of
using ng-click to aid in testing (and for consistency
with related listeners.) WTD-1506.
2015-08-07 14:39:59 -07:00
87aa0cfce2 [Menus] Dismiss menu when clicked
Addresses WTD-1506 (context menu does not disappear after
action is chosen); listen for click events on the menu
itself and dismiss the menu when these occur.
2015-08-07 14:34:27 -07:00
afddca510c [Documentation] Fix markdown
Fix markdown typo in README.md
2015-08-07 13:47:32 -07:00
0b9b936368 [JSDoc] Add missing class doc
WTD-1482.
2015-08-07 13:35:07 -07:00
23f18c799d [JSDoc] Enable markdown processing
WTD-1482.
2015-08-07 12:19:32 -07:00
a7a1ac70e5 [JSDoc] Remove obsolete module references
WTD-1482.
2015-08-07 12:14:40 -07:00
31eb366e7f [JSDoc] Add namespace docs
WTD-1482.
2015-08-07 12:13:15 -07:00
eaaa1a19ca [JSDoc] Remove obsolete module references
WTD-1482
2015-08-07 11:55:38 -07:00
c08a460d30 [JSDoc] Add annotations
Bulk-add JSDoc annotations, WTD-1482.
2015-08-07 11:44:54 -07:00
14f97eae9c [JSDoc] Exclude examples
WTD-1482
2015-08-07 11:43:47 -07:00
2f79323264 [JSDoc] Handle missing @constructor
WTD-1482
2015-08-07 11:41:02 -07:00
1558c9d1bd [JSDoc] Add script to add annotations
WTD-1482
2015-08-07 11:31:06 -07:00
03aba8bbf7 [Build] Start the WAR in an embedded Tomcat Servlet Container 2015-08-07 10:16:59 +02:00
7141c2818a [Search] Search icon near input
Added a search icon next to the search bar
input.
2015-08-06 16:59:09 -07:00
058a0d393d [Compatibility] Store reference instead of binding 2015-08-06 16:55:15 -07:00
b0a23590d4 Revert "[Build] Bump PhantomJS Version"
This reverts commit 62f335573a.
2015-08-06 16:53:42 -07:00
48a9eef924 Merge branch 'open-master' into open-965 2015-08-06 16:13:37 -07:00
62f335573a [Build] Bump PhantomJS Version
Bump PhantomJS version to latest (for ES5 support) and upgrade
dependencies as necessary.
2015-08-06 16:04:58 -07:00
c80e9bfa26 [Style] JSLint Compliance 2015-08-06 15:21:28 -07:00
ec62c27f36 [Representations] grid-item and label display links
grid-item and label representations now use the "location" capability
to determine whether or not to show a link indicator.
2015-08-06 15:12:02 -07:00
19b80ded16 Merge remote-tracking branch 'origin/open1423' into open-965 2015-08-06 15:10:52 -07:00
f72f88adfa [Location] Use parent id as location
Use the parent id as the location for a model.

This greatly reduces the recursive work that must be done
during move operations to keep the location accurate.

Additionally, the locationService now implements a method
`persistLocation` which can be used to persist the current object
location as it's original location.
2015-08-06 15:05:47 -07:00
f083d019a3 [Entanglement] Move service recursively updates locations
When moving an object that supports composition, child objects which
are originals must have their location updated as well.  Children which
are links should not have their location updated, nor should any of
their children be updated.
2015-08-06 15:05:47 -07:00
10ec30ba76 [Entanglement] MoveService updates the location of moved objects
The move service updates the location of moved objects when those
objects are originals.
2015-08-06 15:05:46 -07:00
3fb4296d23 [Testing] MockLinkService returns linked object
MockLinkService.perform returns a promise for the linked domainObject.

When resolving the promise and not specifying an object to resolve it
with, it will resolve it with the domainObject that was originally
passed to it.
2015-08-06 15:05:46 -07:00
197ec0eb2c [Tests] Update Link Service Tests 2015-08-06 15:05:42 -07:00
1d162888dd [Tests] Fix location capability tests 2015-08-06 15:05:00 -07:00
5ab26df4c9 [Scripts] Add script to run karma continuously
Add a script (to be executed with `npm run-script watch`) that
runs karma and watches for changes; rerunning tests whenever a
file is changed.  Useful for local development.
2015-08-06 15:04:05 -07:00
3783ed69d7 [Entanglement] Move updates location of originals
When moving original objects, the location is updated to match the new
location.
2015-08-06 15:03:08 -07:00
1d2cd4745c [Search] Update tests
Updated generic provider test for more general
mock capability object.
2015-08-06 15:01:45 -07:00
ee2d7efae2 [Search] Index checks for changes
When indexing items initially, the generic
provider listens for mutations in case an
item's composition changes, so it can then
index the new children.
2015-08-06 15:01:17 -07:00
4a755e259f [Entanglement] Link service returns object in new context
The link service return the object in the new context.
2015-08-06 14:55:50 -07:00
4c56e4ffdc [Test] add a synchronous controlled promise for testing
Add ControlledPromise, a synchronous promise that can be controlled,
allowing for easier testing of promise resolution flow.
2015-08-06 14:53:59 -07:00
7cad3ba0bc [Search] Update tests
Updated generic provider test for more general
mock capability object.
2015-08-06 14:52:54 -07:00
449db4f3a9 [Templates] Add stubs for link indicator
Update templates to use the location capability to show an indicator.
2015-08-06 14:52:42 -07:00
168a805e8e [Search] Index checks for changes
When indexing items initially, the generic
provider listens for mutations in case an
item's composition changes, so it can then
index the new children.
2015-08-06 14:41:47 -07:00
7ded288154 Merge pull request #63 from nasa/open21-diagrams
[Documentation] Add architecture documentation
2015-08-06 14:24:04 -07:00
63a99f26f6 Merge branch 'mobile_3' into mobile 2015-08-06 14:13:13 -07:00
7ca15a9de2 [Mobile] Representation
Edited grid item to center
shared button.
2015-08-06 14:11:59 -07:00
7ac1d2458a Merge remote-tracking branch 'origin/mobile_3' into mobile 2015-08-06 13:45:45 -07:00
0bc4f2dc6e Merge remote-tracking branch 'upstream/master' into mobile 2015-08-06 13:45:37 -07:00
6802484ad8 Merge remote-tracking branch 'upstream/master' 2015-08-06 13:45:24 -07:00
dcd7d61c9a [Mobile] Tests
Completed ContextMenu and InfoButton
Gesture tests where elements/body
touch events occur.
2015-08-06 13:43:56 -07:00
3e94eba0d1 Merge pull request #62 from nasa/bigger-create-clicktarget
[Template] Move ng-click to parent node
2015-08-06 13:21:10 -07:00
ddae7823f9 [Documentation] Satisfy JSLint
MissionControl/vista#21
2015-08-06 13:02:33 -07:00
633c00f161 [Documentation] Minor cleanup
Minor cleanup around placeholder sections of
documentation, MissionControl/vista#21
2015-08-06 11:53:04 -07:00
be5253b9d3 [Documentation] Update doc build/deployer
MissionControl/vista#21
2015-08-06 11:46:50 -07:00
320be34798 [Documentation] Add clarifying comments
Add clarifying comments to doc generator,
MissionControl/vista#21.
2015-08-06 11:44:28 -07:00
3dace28eb3 [Documentation] Finish platform architecture
MissionControl/vista#21
2015-08-06 11:39:01 -07:00
19db1c9c2b [Documentation] Add narrative about tiers
MissionControl/vista#21
2015-08-06 11:12:02 -07:00
935360e2eb [Documentation] Document remaining services
MissionControl/vista#21
2015-08-06 11:02:12 -07:00
e0a0d293fa [Search] Update test
Fully calls through the controller's search().
2015-08-06 10:35:57 -07:00
1a4d7618c1 [Search] Infinite cycle check
in indexItems in the generic provider.
2015-08-06 10:33:17 -07:00
a2eabc1b08 [Search] Infinite cycle check
in indexItems in the generic provider.
2015-08-06 10:25:02 -07:00
f76f6548a5 [Search] Type checking
Added type checking for arrays to indexItems.
2015-08-06 10:13:32 -07:00
44dce05ec5 [Search] Correct test file paths 2015-08-06 10:12:44 -07:00
e729a966c7 [Search] Type checking
Added type checking for arrays to indexItems.
2015-08-06 10:12:34 -07:00
836c508698 [Search] Style compliance 2015-08-06 09:55:08 -07:00
1fe492cc3d [Search] New item indexer
This one (hopefully) doesn't fill up the
call stack when there are lots of items.
2015-08-06 09:51:09 -07:00
8923f23f70 [Search] New item indexer
This one (hopefully) doesn't fill up the
call stack when there are lots of items.
2015-08-06 09:49:29 -07:00
4c8d07bba8 [Documentation] Telemetry service architecture
MissionControl/vista#21
2015-08-05 17:24:36 -07:00
37cd73c6e8 [Template] Move ng-click to parent node
Move the ng-click directive to the li element to match the element that receives
hover styles.

Fixes nasa/openmctweb#60.
2015-08-05 17:11:30 -07:00
096dce1fe0 [Documentation] Clarify terminology
MissionControl/vista#21
2015-08-05 16:35:58 -07:00
7c17581659 Merge remote-tracking branch 'origin/mobile_3' into mobile
Merged fixes regarding circleci check failure
2015-08-05 12:27:20 -07:00
0a39984c4f [Mobile] Clean Up
Fixed InfoService having 0 in
wrong spot. Also correctly compared
the UserAgent device to iPhone for
isMobile function in AgentService.
2015-08-05 12:26:09 -07:00
ae763d000c [Search] Remove ES provider from bundle
Removed the ElasticSearch search provider from its
bundle definition, but left its file in.
2015-08-05 12:23:40 -07:00
a146185bd2 Merge remote-tracking branch 'origin/mobile_3' into mobile 2015-08-05 12:17:49 -07:00
0b635afcf7 [Mobile] Tests
ContextMenu and InfoButton Gesture
tests remain.
2015-08-05 12:14:16 -07:00
6407a66d30 [Search] Worker test correction
Removed unused parameter. Made path to worker
not relative.
2015-08-05 10:26:16 -07:00
4533262b4a Merge branch 'searchservice' of https://github.com/slhale/openmctweb into searchservice 2015-08-05 10:20:14 -07:00
6a0bd10d5b [Search] Worker test correction
Removed unused parameter. Made path to worker
not relative.
2015-08-05 10:18:10 -07:00
3f2a23c93b [Search] Worker test correction
Removed unused parameter. Made path to worker
not relative.
2015-08-05 10:15:21 -07:00
96f738b6b6 [Documentation] Diagram service infrastructure
MissionControl/vista#21
2015-08-04 17:10:04 -07:00
f46a0853b9 [Mobile] Tests
Removed mockMenu from ContextMenuGestureSpec.
2015-08-04 16:58:37 -07:00
3c325b8870 [Documentation] Add more high-level platform information
MissionControl/vista#21
2015-08-04 16:55:29 -07:00
7f486f739d Merge remote-tracking branch 'upstream/master' 2015-08-04 16:54:14 -07:00
66c81ce3d6 Merge remote-tracking branch 'upstream/master' into mobile 2015-08-04 16:53:45 -07:00
5fa6db72d2 [Search] More controller tweaking 2015-08-04 16:50:50 -07:00
6b65ae77e7 [Mobile] Tests
Completed tests for AgentService,
InfoService, and ContextMenuAction.
ContextMenu and InfoButton Gesture
tests remain. Also resized info button
icon.
2015-08-04 16:48:41 -07:00
e43e14ec00 [Search] Remove unused dependency
Removed the generic search worker's dependency on
the object service, which it does not use.
2015-08-04 16:45:23 -07:00
c9acfc9f89 [Search] Tweak controller loading
Changed the controller to update the tree
display status when the search result
promise is fufilled, not before making the
search query.
Also chagned the loading increment from
5 to 20.
2015-08-04 16:40:31 -07:00
0bf510ca08 [Documentation] Add more useful patterns
MissionControl/vista#21
2015-08-04 16:31:01 -07:00
fc0c902886 [Documentation] More service infrastructure
MissionControl/vista#21
2015-08-04 16:11:13 -07:00
f8dd69bbfa [Documentation] Complete framework arch
MissionControl/vista#21
2015-08-04 14:55:52 -07:00
926ee14546 [Documentation] Add composite services notes
MissionControl/vista#21
2015-08-04 14:23:23 -07:00
66408eeec8 [Mobile] Gestures
Now to dismiss bubble, touch anywhere
the touch will not fire other gestures
(such as the pressing of another object).
2015-08-04 13:41:48 -07:00
aea286779e [Documentation] Add custom renderer
MissionControl/vista#21
2015-08-04 13:37:45 -07:00
55d52d060a [Documentation] Switch to marked
Switch markdown generator to something more up-to-date,
MissionControl/vista#21.
2015-08-04 13:20:19 -07:00
d23f4de36a [Search] Cleanup
Variable names, and unused parameters.
2015-08-04 13:16:29 -07:00
503bae661c [Documentation] Add more description to framework
MissionControl/vista#21
2015-08-04 13:15:19 -07:00
d82be0deef [Search] Remove unused parameter 2015-08-04 13:14:20 -07:00
eab140df48 [Search] Generic search roots constant
Made a constant for the generic search roots,
rather than depending on roots[].
2015-08-04 13:10:29 -07:00
15e39e00c2 [Search] Search aggregator return type
The search service returns objects containing
searchResult objects.
2015-08-04 13:07:47 -07:00
077a0ce3e3 [Search] Changed array to dictionary
for faster lookup times in the search aggregator's
filterDuplicated function.
2015-08-04 13:06:04 -07:00
5711b2b241 [Search] Fixed file paths 2015-08-04 13:04:52 -07:00
d9a1b9d530 [Search] Moving files
Moved the elasticsearch provider to
platform/persistence/elastic. Then moved
the search aggregator and the generic
provider into a services folder within
the search folder.
2015-08-04 13:03:34 -07:00
b6c1eadb91 [Search] Generic search roots constant
Made a constant for the generic search roots,
rather than depending on roots[].
2015-08-04 11:48:28 -07:00
56265c2277 [Search] Search aggregator return type
The search service returns objects containing
searchResult objects.
2015-08-04 11:39:09 -07:00
9ea1d24121 [Entanglement] Add LocationCapability
DomainObjects with a context capability also gain a LocationCapability.

This capability allows you to determine the location of the current
instance of a domain object, and also provides methods for determining
if the current instance of a domain object is a link, or if it is an
original.
2015-08-04 11:24:50 -07:00
40e85b718d [Creation] Store location of new objects
The creation service stores the location (the full path) to
the domain object as "model.location"
2015-08-04 11:24:50 -07:00
bbce5c3154 [Search] Changed array to dictionary
for faster lookup times in the search aggregator's
filterDuplicated function.
2015-08-04 11:19:34 -07:00
c869aaf91a [Search] Fix file paths 2015-08-04 11:10:49 -07:00
5b0bf0a0ba [Search] Moving files
Moved the elasticsearch provider to
platform/persistence/elastic. Then moved
the generic provider out of its folder.
2015-08-04 11:05:32 -07:00
ec87ac7652 [Search] Comments 2015-08-04 10:37:47 -07:00
8f65c73c8a [Search] Recompile CSS
To make changes to the Sass reflected.
2015-08-04 10:36:46 -07:00
35316dc31c [Search] Clean up
Removed additional reference to searhc UI, as well
as correct persistence provider.
2015-08-04 10:35:15 -07:00
b6bb689ccc [Search] Remove search UI files
Leaving only search service related files.
2015-08-04 10:31:52 -07:00
3d524d7572 [Mobile] AgentService
Replaced name queryService with agentService.
2015-08-04 10:11:25 -07:00
45bedb20c1 [Search] Comments and style 2015-08-04 10:01:54 -07:00
2ca3c6ea93 [Layout] Use consistent whitespace
Use consistent whitespace in array literals, WTD-1424.
2015-08-04 10:00:44 -07:00
9b922913a0 [Mobile] Gestures
Added styling to back and selection
arrow (tree). Also increased the space
allowed for selection arrow on tree item.
Info Button created on grid items for mobile.
Info bubble appears on tablet like desktop.
Also on mobile, info bubble fits to width.
New QueryService that returns if on iPhone.
Also formatted dialog box so that their is no
margin and takes up fullscreen on mobile.
2015-08-04 09:59:08 -07:00
4803eef907 [Documentation] Add initial arch. docs
Add initial architecture docs; remove docs folder
from gitignore, as the generated docs (which should
be ignored) have been moved to target/docs.
MissionControl/vista#21.
2015-08-04 09:55:15 -07:00
4240e8843b [Documentation] Begin adding arch diagrams
MissionControl/vista#21
2015-08-04 09:52:09 -07:00
4439e1680d [Search] Update CSS
Scrolling now does not move the search input
field. Load more text always stays on one line.
2015-08-03 13:49:53 -07:00
5569ef8b2d Revert "[Search] Update CSS"
This reverts commit e05f16d780.
2015-08-03 13:39:22 -07:00
e05f16d780 [Search] Update CSS
Slight tweak to the padding of the search view,
which affects where the top of the scroll bar
appears. Also removed the search scroll div
because it was unused.
2015-08-03 13:26:29 -07:00
ae7fc27c9e [Documentation] Copy over css, png files
...in addition to .html files. MissionControl/vista#21
2015-08-03 12:49:35 -07:00
ff5e7486bc [Documentation] Move doc sources
Move doc sources to docs/src MissionControl/vista#21
2015-08-03 12:46:47 -07:00
867b5f726a [Documentation] Changes doc output directory
MissionControl/vista#21
2015-08-03 12:34:12 -07:00
a4c704a5a2 [Layout] Ensure minimum frame size
Ensure default frame size in a layout is not small,
even if the grid size for the layout is very small.
WTD-1424.
2015-08-03 12:18:49 -07:00
e928e02b1c [Search] Update tests
Updated the search controller test to work with
the changes to loadMore
2015-08-03 11:48:50 -07:00
1cd6685b36 [Search] Update loadMore
The controller's loadMore function now sends
new queries to the search service if the
controller's full results list does not have
enough results in it to load more.
2015-08-03 11:44:56 -07:00
695582b30f [Search] Clean up 2015-08-03 11:38:47 -07:00
d0bad46627 [Search] Style
Removed use of the keyword 'catch' when dealing
with promises, and instead used the second
parameter of then.
2015-08-03 10:46:34 -07:00
eb0bdba666 [Search] Moved isLoading
Moved the isLoading function away from
the aggregator. It is now the controller's
responsibility. Corresponding tests
updated.
2015-08-03 10:45:30 -07:00
19b9668190 [Search] Restoring web worker tests 2015-08-03 10:21:50 -07:00
59d4c362f6 [Search] Temporarily remove web worker test 2015-08-03 10:13:00 -07:00
9be646f1e7 [Search] Moved search folder location
Moved search from platform/features/search to
platform/search. Added more style corrections.
2015-08-03 09:51:36 -07:00
164d5485e9 [Search] Wrote provider test
Completed tests for GenericSearchProvider.
Also fixed style in other tests.
2015-08-03 09:36:13 -07:00
7678289ead [Search] Wrote worker test
Completed tests for GenericSearchWorker.
2015-07-31 16:37:11 -07:00
2a62494296 [Search] Wrote provider test
Completed tests for ElasticsearchSearchProvider.
2015-07-31 15:27:02 -07:00
ae94ba73d7 [Search] Wrote aggregator test
Completed tests for SearchAggregator.
2015-07-31 11:33:58 -07:00
560a2e035e [Mobile] Info Button
Added info button to grid/list items
on mobile. When the button is pressed,
info bubble appears for 750ms or the
same infobutton is pressed to dismiss
immediately.
2015-07-31 11:13:52 -07:00
5b3f78287e [Search] Wrote controller tests
Completed tests for SearchController and
SearchItemController.
2015-07-31 10:40:16 -07:00
4bb000dd93 [Search] Writing tests
Created files for all the tests to write.
2015-07-31 09:38:45 -07:00
06d9b68406 [Search] Comments 2015-07-31 09:38:05 -07:00
eca52a8ca6 Merge remote-tracking branch 'upstream/master' into mobile_3 2015-07-31 09:09:31 -07:00
64e2de7aa6 [Documentation] Add a build step
Support generation of non-API docs using
npm run docs. Supports MissionControl/vista#21
2015-07-30 16:36:17 -07:00
3a3e98cc48 [Search] Update provider timeout
Added a timedOut property to the provider's
return object. Changed the generic search
worker to stop if it reaches timeout.
2015-07-30 16:35:26 -07:00
ee64ef5fc1 [Documentation] Generate docs with diagram
Convert Markdown+nomnoml -> HTML+PNG for
MissionControl/vista#21
2015-07-30 16:16:33 -07:00
6e11941ae9 [Search] ES Provider error checks
The elasticsearch provider returns an empty
result when elasticsearch throws an error
(probably a bad request). This prevents the
aggregator from thinking that ES is loading
infinitely.
2015-07-30 15:47:09 -07:00
ad482600de [Documentation] Begin adding doc generator
Begin adding Markdown->HTML documentation generation
with nomnoml embedded diagram support.

MissionControl/vista#21
2015-07-30 15:40:43 -07:00
7c89e4aa4a Merge branch 'master' of https://github.com/slhale/openmctweb into search 2015-07-30 15:08:33 -07:00
f8471bc944 [Search] Comments 2015-07-30 15:04:42 -07:00
15b7e3ac9b [Search] Aggregator returns result object
The aggregator now returns a result object similar
to that of the providers, but the hits array contains
domain objects rather than searchResult objects.
Also removed overly complicated filterRepeats
function from the aggregator and replaced it with a
simpler one.
2015-07-30 14:57:15 -07:00
2983ebb2c6 Merge branch 'mobile_3' into mobile 2015-07-30 14:11:08 -07:00
25e8bb44d2 [Mobile] Item Height
Adjusted item height in
folder/layout list to be
automatically same as the
list object, not flowing over.
Applied to both phones and tablets.
2015-07-30 14:10:43 -07:00
51bc7c6a7f [Search] Generic tracks total hits
The generic search worker keeps track of the total
number of search hits before truncating to match
the max results.
2015-07-30 14:06:35 -07:00
60dad014cc [Search] Changed provider return type
The provider now returns an object that has
a hits property which contains what it
previously returned, and also a total property
which contains the total number of results.
2015-07-30 13:54:56 -07:00
1a8eece90f Merge branch 'mobile_3' into mobile 2015-07-30 13:35:40 -07:00
85658d3d1f [Mobile] Tests
Removed tests causing incomplete
build.
2015-07-30 13:33:59 -07:00
a7cd6d8807 [Search] Removed name field form ES provider
Removed the name field from the ElasticSearch provider
search query string, so now it will check all of the
fields of the domain object (such as type).
2015-07-30 13:32:34 -07:00
ddce0f371d [Mobile] Test
Removed extra mockEvent from test.
2015-07-30 13:32:24 -07:00
495cd06ed5 [Mobile] Tests
adjusted test to fill empty
functions.
2015-07-30 13:30:03 -07:00
1624866656 [Mobile/Bug] RemoveAction
When removing object you have
openned, now compares the currentObj
id with the removed obj id, resulting
in navigating to parent if they are the
same.
2015-07-30 13:27:56 -07:00
bce56c53ed [Search] Clean up
Updated comments and documentation. Changed the generic
worker to return results as {id: score} key value pairs
rather than {id: {score: score}} format. Removed unused
getLatestResults and getLatestTimestamps functions from
the providers.
2015-07-30 13:27:45 -07:00
0b3170d2ef [Tests] Remove logs
Remove protractor logs, WTD-1489
2015-07-30 12:54:26 -07:00
2d1aa65d63 [Mobile] Test
BrowseController test adjusted to
repeat less code.
2015-07-30 12:50:39 -07:00
7e7754f9aa [Tests] Add license headers
Add license headers to protractor test scripts,
WTD-1489.
2015-07-30 12:50:13 -07:00
3a96a246a4 [Tests] Ignore protractor in build
Ignore protractor test folder from command line build,
WTD-1489
2015-07-30 12:44:49 -07:00
24682c5f7a [Tests] Add protractor instructions
Add protractor instructions to top-level README, WTD-1489.
2015-07-30 12:42:50 -07:00
28365602f0 [Tests] Comment out failing tests
WTD-1489.
2015-07-30 12:39:05 -07:00
2c5da44e5e [Search] Clean up
Removed the timestamp as an optional parameter
of the search aggregator's query(), and now it
instead automattically generates one before
querying the providers.
Also attempted to fix loading, but did not
complete (commented out).
2015-07-30 12:38:03 -07:00
a03046400c [Tests] Separate out page launcher
WTD-1287
2015-07-30 12:29:02 -07:00
d5c835e777 Fixed Delete not working in protractor 2015-07-30 12:28:40 -07:00
af630d1b3e Add Protractor Directory 2015-07-30 12:28:29 -07:00
c333a2e70a [Mobile] Test
Repeat of test variable deleted.
2015-07-29 16:31:38 -07:00
6b613f234b [Search] Clean up comments 2015-07-29 15:22:46 -07:00
1619f236cf [Search] Updated search service interface
The search service's interface now just consists
of the two functions query() and isLoading().
query() returns a promise for an array or results,
which eliminates the need for timeout polling like
was previously done. The search providers
have also been changed to reutrn promises.
2015-07-29 15:07:13 -07:00
906354764b [Mobile] Tests
Has way to make isMobile call
true or false for mobile/nonmobile
devices.
2015-07-29 15:06:39 -07:00
12ec293f3d [Mobile] Tests
Changed BrowseController and RemoveActionSpec to account
for grandparent and navigation usage. Also changed
RemoveAction variable name.
2015-07-29 13:57:11 -07:00
bdf8b4d3f1 [Mobile] Test for Back Arrow
Added tests for the backarrow and
when it appears/disappears.
2015-07-29 13:22:47 -07:00
5ee8dd239b [Search] Comments 2015-07-29 13:17:50 -07:00
6e60088b11 [Mobile] RemoveAction
Removed console and added
navigationService (mock) to the
spec version.
2015-07-29 11:58:53 -07:00
97bf530b1d [Mobile] BackArrow
Removed the BackArrow console log
that was getting called in the
BrowseController.
2015-07-29 11:41:10 -07:00
18348476c6 [Mobile] RemoveAction Tweak
If you remove an object you are
currently within/opened, then on
removal of it you navigate to the
parent of whatever you removed.
2015-07-29 11:38:47 -07:00
7e35e55f0b [Mobile] Hide Back Button
When you are at the highest level the
back button fades out and is unclickable.
When you are able to go up a level the
back button appears/fades in and is
pressable. Also removed the object type
name from the header.
2015-07-29 11:13:09 -07:00
f2cd55d6cd [Search] Cleaning up
Cleaning up code in generic serach provider. Removed
unnecissary return statements. Moved indexing via web
worker from getItems() loop to within itemsHelper().
Commented out timeout, becuase seems unnecissary.
Changed all date.getTime() to Date.now(). Indexing
has undefined checking.
2015-07-29 11:01:38 -07:00
28a2a5b92a [Mobile] Tweaks to layout
Removed the user-select option
for the context menu and bottom bar
on mobile. Also edited the folder
grid item so that its icon rep
size is not overly large.
2015-07-29 10:39:17 -07:00
639cf1cf59 [Search] Generic indexes once
Changed the generic search provider to index the
file tree only once when it is initially called.
This assumes that the contents of the file tree
will not change significantly within the course
of a use session (and some changes may be caught
by other search providers).
2015-07-29 10:28:07 -07:00
d262520594 [Mobile] Tree menu Open
Tree menu select arrow button's width
is now size of full button. Prior to this
the pressable area was less and therefore
less responsive.
2015-07-29 10:25:09 -07:00
7cc14a195b [Mobile] Tests/Header
Removes back arrow on desktops.
Also added queryService to tests
for the context menu action and
gesture.
2015-07-29 10:00:03 -07:00
84b9e4d781 [Mobile] Context Menu
Context menu next to object header
now dismisses when touching away
from it. Also, when long touching
an object, the context menu appears.
Set on 500ms timeout.
2015-07-28 17:09:15 -07:00
ce433a01b2 Merge branch 'master' of https://github.com/nasa/openmctweb into search 2015-07-28 17:04:44 -07:00
495d8c9830 [Search] Search term processing
The search term processor for ElasticSearch now
removes extra spaces from inside of the search
term (to avoid some ES errors).
2015-07-28 17:04:29 -07:00
52e0476d24 Merge branch 'mobile_3' into mobile 2015-07-28 15:57:02 -07:00
86340623f7 Merge remote-tracking branch 'upstream/master' into mobile 2015-07-28 15:56:43 -07:00
356fa73c91 [Mobile] Tests
Test created for backArrow
that spies on all objects
used to find parent.
2015-07-28 15:55:22 -07:00
a073ef69ac [Mobile] Back Arrow
Shifted Back Arrow down to
align with header.
2015-07-28 15:15:42 -07:00
3c6c420023 [Mobile] Back Arrow
Back Arrow implemented
by getting parent and then
navigating to it.
2015-07-28 15:08:14 -07:00
2ffe1cdff9 [Build] Bump version number
Bump version number, add snapshot status to begin sprint
Triton, WTD-824.
2015-07-28 13:30:39 -07:00
6596ddcb8c [Build] Remove snapshot status
Remove snapshot status to close sprint titan,
WTD-824.
2015-07-28 13:23:57 -07:00
32b58715c6 [Search] Fixed scrolling and layout edit
Changed the CSS so that scrolling for the tree and
search results works again. Additionally, layout
editing works again.
2015-07-28 12:33:22 -07:00
1a9dd2f144 [Search] Comments
Updated documentation. Removed unnecissary dependency
fom generic provider.
2015-07-28 11:33:29 -07:00
21964fe68e [Mobile] Demo Setup
Added lines to circle.yml
for mobile demo branch.
2015-07-28 11:08:10 -07:00
62714bb97c [Continuous] Deploy to staging-un 2015-07-28 11:04:09 -07:00
2a4943f584 [Mobile] Console
Removed call to console so
mvn clean install would compile.
2015-07-28 10:58:22 -07:00
e32403a75f [Mobile] Clean-Up
Cleaned the unused code for the
backArrow and long touch gestures.
Commented out functions for later use
Currently shows the back arrow, however,
only will print to console on press.
Edited tests where mobile checks were breaking
and fixed.
2015-07-28 10:56:29 -07:00
d6a7dc9820 Merge branch 'search' of https://github.com/slhale/openmctweb into search 2015-07-28 10:17:15 -07:00
dc53cf60d1 [Search] Style
Made style compliance changes.
2015-07-28 10:15:05 -07:00
e0e5ad1347 [Search] Removed console output
Accidentally left in a console.log statement
2015-07-28 10:04:31 -07:00
a6b11354cd [Search] Removed console output
Accidentally left in a console.log statement
2015-07-28 10:03:22 -07:00
f7c0cb6214 Merge branch 'search' of https://github.com/nasa/openmctweb into search 2015-07-28 09:51:17 -07:00
561d671181 [Search] Fix to pass test
Changing TreeNodeController's isSelected function
back to original, so that it doesn't break tests.
2015-07-28 09:50:50 -07:00
d569b13101 [Continuous] Deploy to staging-un 2015-07-28 09:40:16 -07:00
b0c42c12b7 [Mobile] Back Arrow
Changes URL correctly that
is printed to the console. Is the
url to up one level of objects.
However not navigating to that
object.
2015-07-27 17:01:30 -07:00
621ccc25ec [Mobile] Back Arrow HTML
Created HTMl for back arrow,
next neew to hook up a click.
2015-07-27 15:31:47 -07:00
617df739ee [Mobile] persistence
Removed elasticsearch.
2015-07-27 15:26:09 -07:00
6e43a92191 [Mobile] Merge
Fix Conflicts.
2015-07-27 15:21:59 -07:00
84486f2086 [Search] Fixed empty search
Pressing enter on the searchbar before putting
any input would before hide the filtree when
it shouldn't. Now it does not.
2015-07-27 14:12:49 -07:00
dc79f460e5 [Search] Fixing conflicts 2015-07-27 13:34:12 -07:00
7cac858697 [Search] Cleanup
Updated documentation. Removed most unused funtions.
Removed references to the search service in the
search template -- necissary functions added to
the search controller.
(Search in a 'working' state again.)
2015-07-27 13:25:35 -07:00
a3977a18f0 [Search] Results polling in aggregator
Moved the polling for most recent results
from the search controller to the search
aggregator.
Also changed ng-change back to ng-keyup
in the search template.
2015-07-27 12:59:32 -07:00
5e858f73d5 [Search] Changed ng-keyup to ng-change
In the search template. Also small comment change.
2015-07-27 11:55:42 -07:00
a9418fd2c7 Merge remote-tracking branch 'upstream/master' 2015-07-27 11:32:41 -07:00
1d7a0fa48d [Mobile] Removed InfoGesture
Commented out infogesture.
2015-07-27 11:30:29 -07:00
30c530178a [Mobile] No ContextMenu
Removed context menu code
started to be used for the
long hold gesture.
2015-07-27 11:01:03 -07:00
3d0795cde3 [Mobile] Starting Context
Added check to make sure
user is touching only one object.
Started contextmenugesture to be
long touch, however currently long
touch is still infogesture.
2015-07-27 10:20:08 -07:00
181fb32a2a [Search] Responsibility change (in progress)
Attempting to move some responsibility from
the search controller to the aggregator.
(Committing for save before possible revert.)
2015-07-27 10:04:09 -07:00
232a648fbd Merge branch 'master' of https://github.com/nasa/openmctweb into search 2015-07-27 09:14:52 -07:00
77edb07333 Merge pull request #52 from nasa/continuous-deployment
Support continuous deployment of open source Open MCT Web.
2015-07-27 07:51:54 -07:00
e639d9ba8f [Continuous] Only deploy from master branch 2015-07-24 17:32:49 -07:00
c6b0e4bf6f [Continuous] Set author after repo is initialized 2015-07-24 17:13:19 -07:00
60cdc0eb6d [Licensing] Add license header to applicable files 2015-07-24 17:08:29 -07:00
36ac5aa4de [Style] JSLint compliance 2015-07-24 17:07:53 -07:00
09519cf6d4 [Continuous] Set commit author, fix grammar 2015-07-24 17:07:49 -07:00
d35a149108 [Search] Remove unused controll
Removed searchbar controll, as the control to
use would be the provided textfield control.
2015-07-24 16:52:55 -07:00
c85a3787c0 [Mobile] User-Select
Edited user-select used in
panes' layout to only
happen on phones and tablets
(just to be safe).
2015-07-24 16:46:45 -07:00
44ee21d613 [Continuous] Push docs to correct repository 2015-07-24 16:41:10 -07:00
ee34b74ca1 [Style] Test config is JSLint approved 2015-07-24 16:21:15 -07:00
066258ab83 [Mobile] User-Select
Removes the copy/define
mobile safari menu that
appears during some touch events.
Only apply to left and right panes.
2015-07-24 16:19:15 -07:00
ddc2295ec3 [Mobile] Touch Hold Gesture
Rough touch hold gesture added
to the info gesture. Currently
if you hold on an item (that you
would normally hover over) for
500ms, you get the info gesture pop
up.
2015-07-24 16:02:06 -07:00
3fe9170c7d [Gitignore] Ignore jsdoc output 2015-07-24 15:34:26 -07:00
011e6fc512 [Mobile] Clean Up
Moved Mobile check in InfoGesture to
call on mouseEnter.
2015-07-24 15:27:33 -07:00
dca0014862 [Search] Removed unused
Removed incorrect 'uses' statements from
bundle.json. Also removed unused controller
ToggleController. Edited some comments.
2015-07-24 15:08:43 -07:00
6b02295bf4 Merge branch 'master' of https://github.com/nasa/openmctweb into search 2015-07-24 14:20:27 -07:00
9435e75461 Merge remote-tracking branch 'slhale/open33' into open47b
Fix merge conflict in preparation to integrate nasa/openmctweb#47

Conflicts:
	platform/commonUI/browse/res/templates/browse/object-header.html
2015-07-24 13:46:37 -07:00
05c43db6fe [Search] Search input using the model
Made the search bar text input go to ngModel.input,
rather than getting the text manually from the DOM
element. Additionally, removed the search service
from the search controller's scope.
2015-07-24 13:04:48 -07:00
9143f5febd [Search] Comments and errors
Changed TreeNodeController slightly to do error
checking. Also updated some comments.
2015-07-24 13:03:18 -07:00
91bd58215a [Mobile] Size Adjustment
Moved hamburger icon slightly up
using the padding instead of
margin.
2015-07-24 12:38:01 -07:00
b37ee19fbc [Mobile] Size Adjustment
Adjusted indentation size
on the tree. Also change size of the
hamburger icon to match the
object icon and moved it slightly
down.
2015-07-24 12:35:19 -07:00
2355d354b3 [Mobile] Items List
Flushes items left and
vertically centers the
title/details. Also cleaned
up the items classes in sass
files.
2015-07-24 11:46:58 -07:00
300280e03e [Search] Moving responsibility
Moving the responsibility of polling for updates
from the search controller to the search aggregator.

In progress. Previously this prototype was what
could be called semi-stable, but now it is no longer.
2015-07-23 16:58:25 -07:00
200c6e49fc [Mobile] Test
QueryService (mock) added to the
ContextMenuGestureSpec to account
for isMobile call that allows/
disallows use of contextmenu
gesture.
2015-07-23 16:55:45 -07:00
a89f9eed42 [Mobile] Grid List/Gestures
Context menu only shown with contextmenu
click on desktops (non-mobile devices). Also
edited items list in a folder's representation
to show the icon on the left side, with text
centered horizontally (only mobile).
2015-07-23 16:47:57 -07:00
341218e8f6 [Search] Tree hide change
The tree is now hidden whenever there is
text in the search bar. (This allows for
the case when there are no search results,
but text in the search bar.)
2015-07-23 16:24:38 -07:00
33e8084852 [Search] Getting input text
The controller now gets the input text from the
DOM element ID, then passes that string along
to the search service, instead of passing the
raw ID.
2015-07-23 16:13:26 -07:00
7d495f6389 [Search] Hide tree
The tree is hidden when there are
search results.
2015-07-23 15:55:20 -07:00
f4d34a2a9c [Search] mctControl for searchbar
Attempting to generalize the searchbar using
mct-control. In progress.
2015-07-23 15:29:19 -07:00
0feab1965c [Search] Attempt at scroll bars
Attempted to make the search results scroll,
but failed for now. Created a div for the
search results, load icon, and load more
button, which are the elements desired to
be scrolled. Did not work because search
result labels have absolute position text.
2015-07-23 15:12:13 -07:00
7993e4c03f [Mobile] Gestures
Removed the hover coloring on
the tree menu on mobile by changing
original** scss code. Also added
check in ContextMenuGesture that
will only allow context menu to appear
in non-mobile browser.
2015-07-23 15:01:14 -07:00
b592b89dc8 [Mobile] Clean Up
Removed unnecessary transitions.:
2015-07-23 14:15:01 -07:00
d115166dde [Mobile] Comments
Added comments and removed
unwanted spec test code for
BrowseController.
2015-07-23 13:48:21 -07:00
d176f9f811 [Mobile] Test
Fixed BrowseControllerSpec.js to
account for the .treeslide
call and added a new test for thatasds
2015-07-23 13:46:46 -07:00
aa17d3034e [Search] Fixed excessive calls to setSelection
There were excessive calls to TreeNodeController's
setSelection() due to a modification for search
compatibility. Changed to not call as often.
2015-07-23 13:32:15 -07:00
52a9fcf5d6 [Search] Changed highlight size
The search item highlight when selected or
hovered over is now talled, and the margin
between search items is reduced to
counteract any effect to spacing.
2015-07-23 13:29:11 -07:00
143e3eeb6c [Mobile] CleanUp/Tests
Added tests inside spec files
for the QueryService, TreeNodeController,
and InfoGesture. Also cleaned up the
tree so that padding is used between
buttons instead of margins.
2015-07-23 13:19:58 -07:00
7b271dcb6b [Search] Highlight transitions
Added transitions for when objects get
highlighted from selection or hover.
2015-07-23 13:14:20 -07:00
2680e466fa [Search] Tree selection syncs
Selecting something in the search results now
also makes it selected in the filetree. It
remains selected even when the search results
are cleared. (The filetree does not
automatically expand to that position though.)
2015-07-23 12:47:21 -07:00
29d5535e7c [Search] Changed search load time
Changed how frequently the search controller
checks for updates. This makes the load icon
dissapear faster, and looks more natural. But,
may affect performance.
Also changed the point at which the loading
status becomes 'true'. Made it earlier, at
the beginning of the controller's update().
2015-07-23 11:48:19 -07:00
ebb5474b34 [Search] Hover and loading
Added styling to result items when they are
hovered over.
Also added a loading icon.
2015-07-23 11:41:17 -07:00
4759162bb7 [Search] Added right padding
Added padding to the right side of the
search holder to match the tree holder's
padding.
2015-07-23 11:08:31 -07:00
deba184103 [Search] Selection remains across queries
The selected object in the search results now
remains selected even after a new search is made.
It also will remain selected if it is clicked
on the file tree, but the file tree version is
not yet selected if it is clicked on the search
results list.
2015-07-23 10:56:38 -07:00
c65a278fcf [Search] Selecting results works
Can now click on search results. The view will
be updated, as well as the selected object
being higlighted.
2015-07-23 10:50:00 -07:00
50ce800c2a Merge branch 'master' of https://github.com/shivamndave/openmctweb 2015-07-23 09:51:33 -07:00
1a1eecb4c3 Merge remote-tracking branch 'upstream/master' 2015-07-23 09:51:10 -07:00
b3bc8b6876 [Mobile[ Tests
Added jasmine test for

QUerySerivce and adjusted
the InfoGestureSpec to
account for use of
QueryService.
2015-07-23 09:28:36 -07:00
8c08f7b93e [Search] Less space above tree
Removed the awkward spacing between the filetree
and the search bar. Now 'My Items' appears just
below the search bar.
Also added .search-holder to the sass, but haven't
done anything with it yet.
2015-07-23 09:25:10 -07:00
501e426868 [Search] Centered load more button
More correctly centered the load more button,
so that when the left panel is resized,
the button remains in the middle.
Additionally, added more comments to the sass.
2015-07-22 16:35:41 -07:00
8f1f4eb177 [Search] Generic search gets all roots
Generic search now automatically finds all
the roots before searching.
2015-07-22 16:21:38 -07:00
b0e7dca985 [Search] Empty search resets results
When there is no input into the search bar
no results are displayed/displayed results
are removed. This is because the search
providers were changed to return empty
arrays for empty search strings.
2015-07-22 16:09:14 -07:00
b16af5fe3e [Search] Renaming search and searchbar
Changed what was previously just 'search' and
renamed to 'search view'. Then, took what was
previously 'searchbar' and renamed to
'search'.
2015-07-22 15:43:28 -07:00
12b8408bca [Entanglement] Enable Entanglement 2015-07-22 15:32:20 -07:00
1f7ba70ad7 [Mobile] Scroll Bug
Removed scrollbar that appears in landscape
mode in tree menu.
2015-07-22 15:21:34 -07:00
1dbe039be8 [Search] Load more button style
Styled the load more button to match
the general theme.
2015-07-22 15:17:27 -07:00
d82538a799 [Search] Item background highlight
Each result item now has a highlighted
background, with correct rounding of
edges. Need to now detect when to
highlight (on selection).
2015-07-22 14:48:14 -07:00
57d45b24be [Search] Removed Search View
Removed the search view from bundle.json because
the search in the left panel is the actualy
UI for searching. The search view is temporary.
2015-07-22 13:46:40 -07:00
dcd4006017 [Search] Positioning fixed
Fixed the search results so that they
now display correctly, with overflow
hidden, and no unusual positioning.
Also changed font size to 0.8em.
2015-07-22 13:43:54 -07:00
7aba3b6672 [Mobile] Clean Up
Removed gap below bottom bar. Moved
around constants for the resizing
of the tree. Also added comments in
layout and reformatted that slightly.
2015-07-22 12:53:49 -07:00
3ae681c79c [Search] Colors and positioning
Corrected the colors back to the normal
style. Also made the text on the same
line as the icon, but this fix is a
temporary one.
2015-07-22 12:33:20 -07:00
ab3d3ec45b [Search] Overflow text
Overflow text on the search item labels
is now hidden, with ellipses.
New problem: Text is  on a different
line than the icon.
2015-07-22 11:48:13 -07:00
ff3770c9ee [Search] Added css classes
Added classes to the HTML so that CSS and
Sass could get access to style the
searchbar items. The structure for styling
is now mostly set up.
2015-07-22 11:21:14 -07:00
0fde10a818 [Continuous] Procfile uses localstorage 2015-07-22 11:00:18 -07:00
919ef2f991 [Persistence] Add localstorage persistence 2015-07-22 10:58:28 -07:00
bcc1e2e26f [Search] Starting front-end
Starting to modify the front-end so that
the searchbar appears in the tree view
area. Made the tree holder have relative
position so that the searchbar is visibile
for now. (Later will be different.)
2015-07-22 10:38:56 -07:00
926b3d075c [Mobile] Clean Up
Cleaned up scss files. Removed
repeated statements and added
comments. Also commented js files
like QueryService and InfoGesture.
2015-07-22 10:25:21 -07:00
01a52b8af8 [Continuous] Deploy to heroku 2015-07-21 17:29:25 -07:00
19b0b1aa66 [Continuous] Run via Procfile binds port 2015-07-21 17:27:17 -07:00
808a79178b [Continous] Build and publish documentation 2015-07-21 17:24:43 -07:00
b5f8e6d90c [Search] Updating searchbar
Updating the searchbar to be again more
similar to the search view. It now has
a 'load more' button, but it is not
clickable for some reason. In progress.
2015-07-21 16:21:23 -07:00
827cb27f28 [Mobile] Menu
Added margin to top of tree list items.
Also removed hovering Info coming
up on mobile devices.
2015-07-21 16:19:59 -07:00
739fa423c5 [Search] Added wildcards to generic
Added wildcard support to the generic
search provider. In this case, wildcards
behave just like spaces.
2015-07-21 16:10:35 -07:00
5f30249065 [Search] Load more option
Made the search view have a 'Load more'
button. Added functionalty to allow this
to happen.
2015-07-21 15:56:28 -07:00
4191bc1ac3 [Search] Comments
Updated the documentation.
2015-07-21 15:31:23 -07:00
92df11acc1 [Search] Readded ElasticSearch provider
Previously had removed the elasticsearch provider
from bundle.json so could work on the generic
search web worker. Now have modified the
elasticsearch provider to match the new interface
with the aggregator, and it works.

At this point, search is 'working'
2015-07-21 15:14:07 -07:00
416bd82589 [Search] Cleanup
Removed a couple of unnecissary things, and fixed
up the comments.
2015-07-21 15:05:08 -07:00
7934e8d425 [Search] Changed worker result implementation
The interface remains the same, but the web worker
returns a pseudo dictionary (actually an object)
after being told the search. The key value pairs
for this dictionary are ids and scores.
2015-07-21 14:55:44 -07:00
cb56bbe569 [Documentation] Fix JSDoc syntax errors 2015-07-21 14:30:00 -07:00
0842f464db [Mobile] Menu Adjustment
Makes highlight go all the way to right.
Also makes the arrow be absolute on the
right side, making it aligned to right.
2015-07-21 14:29:13 -07:00
e7e79f41a7 [Packaging] Create NPM Package
Create NPM package for OpenMCTWeb.  Includes scripts
for hosting, running tests, and building documentation.
2015-07-21 14:29:07 -07:00
5a93e5a2bc [Search] Correct search updating
The search controller now updates the display
results list, then repeatedly asks the
aggregator to update until the timestamps
all are at least as new as the one that the
controller originally gave for the query.
Basically, the search now updates correctly
without having to press enter again.
2015-07-21 14:24:37 -07:00
56e51ea32a [Mobile] Reformat of menu
Reformats menu to move the
arrow to the right and now
that is what selects an object.
Pressing the actual menu item will
enact the dropdown menu. This
only happens on mobile platforms.
2015-07-21 13:29:45 -07:00
41c38f202d [Search] Comments
Removed extra commented out code.
2015-07-21 13:04:03 -07:00
f0f396f656 [Search] Needs more updating
The search aggregator now correctly gets
from the providers, but because of not
sync, the display is effectively one press
behind the correct search results.
Still, working to some extent.
2015-07-21 12:59:52 -07:00
a5febf8f0f [Search] Removed paging
Removed the paging from the search view,
because later instead of paging there will
be a 'view more' option.
Also made the generic search provider
return searchResult objects instead of
raw domain objects.
2015-07-21 12:44:14 -07:00
4f4af87285 [Search] Added timestamp to queries
(Temporariliy removed the elasticsearch provider
from bundle.json)
Added a timestamp parameter to the query so that
the aggregator can tell when the results were last
updated. Created a separate function for getting
the results list. GenericSearch now converts back
from models to domain objects after the web worker
does its work.
2015-07-21 12:34:08 -07:00
1b5fbccc06 [Search] Removed validType function
Removed the validType function which previously
was a paraemter to the search providers. It
was no longer used, and is not necissary.
2015-07-21 11:17:45 -07:00
fc123cd367 [Search] In progress webworker
Connecting GenericSearch to the web worker is still
in progress. The aggregator currently gets the
results before the web worker is finished. In process
of fixing sync issue.
2015-07-21 11:14:13 -07:00
a0f4b98eed [Search] Webworker search
The web worker's search() appears to work. Now
we just need to link it in to the GenericSearch
as the primary means of searching.
2015-07-21 10:35:33 -07:00
7adcfc221a [Serach] Webworker indexes items
The indexItem() part of the web worker seems
to be working at this point.
2015-07-21 10:10:34 -07:00
c1dcd8ea5b [Search] Framework of webworker implementation
Made a basic outline of the desired web worker
implementation. (Functions present, now need to
implement them.)
2015-07-21 09:58:19 -07:00
74961e1106 [Search] Starting on workers
Starting to work on using web workers to
do some of the work of GenericSearch.
Changed bundle.json accordingly.
2015-07-21 09:44:14 -07:00
c79d1f2648 [Search] Choose higher score & optional parameters
Changed the search aggregator's filterRepeats
function to choose the version of the searchResult
object that has the higher score, when it
encounters multiple searchResult objects
corresponding to a domain object ID.
Also changed the search providers and aggregator
such that the validType parameter is now optional,
with a function that always returns true as the
defualt.
2015-07-21 09:41:52 -07:00
f4bd7d7a44 [Search] Revert to earlier commit
Reverted to before implementing next(). May re add
back some changes, such as removing validType and
then adding web workers.
2015-07-20 17:02:08 -07:00
1891b24bde [Search] Dump before revert
Commtting changes so far before revering
to a previous commit. Most changes to make
next() have been unneccsiary. We no longer
want next().
2015-07-20 16:56:39 -07:00
5520037908 [Search] Partial loading
Changed the providers to return only the first
search result. Each searchResult object has a
function next() which returns the next search
result. This allows the search aggregator to
load more results without making a whole new
search query. (Still requuires some cleaning
up.)
2015-07-20 14:30:22 -07:00
c0c0371451 [Search] Timeout passed from SearchAggregator
The timeout value is now an optional
parameter of the providers, and
the search aggregator now passes a
common default value to all of them.
2015-07-20 11:21:55 -07:00
ed956d351d [Search] Elasticsearch timeout
Added a term to the elasticsearch query
that should make it time out. Apparently
this only works sometimes, as ES uses a
'best effort' timeout.
2015-07-20 11:08:43 -07:00
e9e9ca146b [Search] Generic search timeout
Added a time limit for generic search's indexing
of the filetree, at which point it will just
return the portion of the filetree it has
indexed.
Additioanlly attempted to move this part of
the functionality to a webworker, but is not
working because of unclonability of the
objects. (Commented out)
Also updated some documentation comments.
2015-07-20 10:59:02 -07:00
dcdafbaebf [Mobile] Fix Shift
Shifting occurring during transition
fixed by making transition backface-
visibility hidden during the
transition.
2015-07-20 10:25:27 -07:00
f98915cddd [Mobile] Comments
Added comments to the mixin list.
2015-07-20 09:51:37 -07:00
4e6c307684 [Mobile] Transition
Adjusts transition time on fade.
2015-07-20 09:48:12 -07:00
ce6d74390e [Mobile] Clean-Up
Removed unnecessary classes. Also added
comments and adjusted menu sizes.
2015-07-20 09:39:06 -07:00
6e406fd060 [Mobile] Right Pane sets
Right pane sets the size of itself,
causing the left pane to re-adjust
to fit the screen based on it. Also
transitions work on the slide and the
fade in.
2015-07-20 09:16:28 -07:00
2614427e0e [Mobile] Fix
Fixed to open menu fully.
2015-07-17 14:32:33 -07:00
e8b662571b [Search] Not case sensitive
Made sure that generic search's matching is
not case sensitive.
2015-07-17 14:06:48 -07:00
2a784115d5 Merge branch 'master' of https://github.com/nasa/openmctweb into search 2015-07-17 13:49:19 -07:00
9f5f14826b [Search] Changed generic's matching implementation
Changed how the generic search provider determines
search matches. It now splits the search input into
search terms by spliting at spaces, and then scores
the results by how many of the terms appear as
substrings in the result.
2015-07-17 13:49:09 -07:00
c75d94289b [Serach] Callbacks and renaming
Added validType() as a callback parameter to the search
providers. It is defined in the search aggregator, and
is used to put any restrictions on object type in the
displayed search results.
Renamed EverythingSearchProvider to GenericSearchProvider.
2015-07-17 11:26:44 -07:00
2e2e7ee876 Merge branch 'open1444b' into open-master 2015-07-17 11:05:25 -07:00
affd5f8d29 Merge branch 'open1426' into open-master 2015-07-17 10:56:09 -07:00
272c6bca97 [Mobile] Create Menu
Create menu's is specified/overwritten
with 1000% (change) to fit on mobile).
Also gets rid of the right bar in that view.
2015-07-17 10:50:02 -07:00
0d7387080d [Mobile] Create Menu
Create menu text has ellipsis
attribute now, so if text is cut off
it will have a '...' appended to it.
Also added comments to mixins.
2015-07-17 10:28:19 -07:00
492dbcbc51 [Search] Comments and keypress
Changed the controller for the search input
to respond on keypress rather than keyup.
Added comments better explaining searchResult
objects to the search aggregator.
2015-07-17 09:33:10 -07:00
deed95d8d1 [Plot] Don't allocate charts for empty plots
Don't allocate WebGL charts for empty plots, WTD-1444.
2015-07-17 09:13:20 -07:00
1e2e20b145 [Mobile] Comments
Added comments to the mixins.
2015-07-17 09:04:39 -07:00
c82163fa7b [Search] Comments and style 2015-07-16 16:54:53 -07:00
cf3169dd68 [Search] More generalized restrictions
Moved the EverythingSearchProvider's term to item
matching to new functions, so that they can be
more easily modified later.
2015-07-16 16:50:11 -07:00
c1ebd50e4c [Search] Result paging
The search view now can page the
results when there are many.
2015-07-16 16:31:54 -07:00
488829a20c [Mobile] Header
Removed type from header
along with the right side buttons.
2015-07-16 16:13:58 -07:00
85c7a36e25 [Mobile] Cleaned up
Set the width of the create menu
text/components to fit the menu
however it gets cuttoff sometimes.
Next steps are to Clean up screen,
change the create menu to fit the left side,
and fix bottom space.
2015-07-16 15:21:17 -07:00
442a1979e7 [Search] Rudimentary scroing for manual
Created a rudimentary scoring function for
the EverythingSearchProvider. Also corrected
the sorting by score function.
2015-07-16 14:36:02 -07:00
d99b4d75d8 [Mobile] Fix
Fixed the desktop version breaking.
CUrrent issue is hte menu is getting cut off.
2015-07-16 14:07:25 -07:00
922a724e36 [Search] Removed unused file
Removed SearchService.js, as now the searchService
is implemented using the aggregator and providers.
2015-07-16 13:26:23 -07:00
15a88967d0 [Mobile] Transition/Create Fix
Fix the create button to work and
also transition well. Added transition mixin
to stay DRY.
2015-07-16 13:22:07 -07:00
15a9d2380c [Search] Removed unnecissary dependency
Removed an unnecissary parameter from the
search aggregator ($q).
2015-07-16 13:11:00 -07:00
80e0bd875a [Search] Aggregator merges results
The search aggregator now merges search
results from different providers better.
It removed duplicate results, and orders
the list of results from highest to
lowest score.
2015-07-16 13:08:05 -07:00
6e6fbe0d65 [Mobile] Transitions
Made transitions properly work for
create button.
2015-07-16 12:54:10 -07:00
180e5f14ae [Mobile] Cleaned up
Made pane sass code more DRY by
using the phoneandtablet mixin
on repeated conditions.
2015-07-16 12:25:06 -07:00
e9314898d2 [Mobile] Portrait & Landsc.
Specifies amounts based on phone and tablet's
orientation. Not tested for the actual device,
but emulator. Also currently makes the create
button appear/disappear instead of smoothly sliding.
2015-07-16 11:50:55 -07:00
bc2072b8c6 [Search] Removed unused search provider
WARP search provider should not be
implemented here. And was not yet
implemented or used at all anyway.
2015-07-16 11:33:36 -07:00
25208a9074 [Search] Aggregator aggregates
The search aggregator now combines the search
results from each search provider and returns
that. Objects may appear in the list more
than once.
2015-07-16 11:31:30 -07:00
ce75d19480 [Mobile] Desktop
Cleans up the _layout by making the different
pane sizes device specific. Also adds a new
sass class just for desktop versions.
2015-07-16 10:44:20 -07:00
cd3c2312a5 [Search] Basic aggregator works
The search view now behaves as it
previously did. The search aggregator
is set to just use ElasticSearch, but
it works.
2015-07-16 10:35:26 -07:00
6f2ad0dadc [Search] Renaming and adding files
Renamed QueryService as SearchService and changed
the corresponding references to it. Added a
SearchAggregator file and related files. Not
yet begun with the implementation.
2015-07-16 10:10:07 -07:00
1e05ebbfd7 [Search] Modified default input funct
Renamed isDefaultInput() to isDefaultFormat(). It
currently just checks for 'name' or 'type' tags,
but it may be completely unneeded.
2015-07-16 09:56:55 -07:00
c5c3546b92 [Search] Relaxed quote rules
Allowed quotes more often in search terms.
When there are quotes, that space-separated
term will not get the fuzzy identifier.
2015-07-15 17:02:51 -07:00
a9dd1f9828 [Mobile] Transistions
Cleaned up and added transitions.
2015-07-15 16:57:36 -07:00
4b5540830b [Mobile] Slide menu
Rouch menu using important to
overwrite splitter setting of
amounts. Also has default values
for now for all devices.
2015-07-15 16:49:16 -07:00
672fa74321 [Search] Changed default max results
Changed the default number of max results to
be 100 results.
2015-07-15 16:46:38 -07:00
3fcf061679 Merge branch 'master' of https://github.com/nasa/openmctweb into search-explore 2015-07-15 16:15:25 -07:00
e400f211c4 Merge remote-tracking branch 'nasa/open1404' into open1427
Merge in preparation for review/integration, WTD-1427

Conflicts:
	platform/commonUI/general/res/templates/containers/accordion.html
2015-07-15 13:45:37 -07:00
ee35976c92 [Mobile] Tree Mobile
Added mobile/_tree.scss and edited
normal tree.scss to accomodate for
future sass that adjusts the tree
menu.
2015-07-15 13:30:06 -07:00
b94ef695e2 [Search] Creating searchbar
Starting to create a search bar which lives
in the same side of the divder as the file
tree does.
2015-07-15 13:29:45 -07:00
54b6cd1100 [Mobile] Debug
Added debug statement to print
to console.
2015-07-15 13:28:42 -07:00
759eaa3b35 [Search] Comments 2015-07-15 12:39:22 -07:00
eee9309650 [Search] Fuzziness operator
Insead of wildcards, adding the fuzziness
operator to searches to ensure completeness
of the search results.
2015-07-15 12:14:30 -07:00
e634d77a8e [Search] Add wildcards
Added wildcards to most searches at the
front and end of each word that is separated
by spaces.
2015-07-15 11:39:02 -07:00
06b26b799e [Search] Comments 2015-07-15 11:10:04 -07:00
d6720884f1 [Search] Elasticsearch search options
Changed the search term processor to allow
the name and type options again (for
elasticsearch).
2015-07-15 10:52:27 -07:00
eb5946c1c1 [Search] Documentation
Gave more verbose descriptions of queryManual
and queryElasticsearch.
2015-07-15 10:49:24 -07:00
227cb42ba7 [Search] Comments 2015-07-15 10:24:43 -07:00
3420eb69d3 [Search] Manual max results option
Manual search now takes a max number of
results option, just like the elasticsearch
version.
2015-07-15 10:17:59 -07:00
6b3088f241 [Search] Manual search works
Manual search which does not use elasticsearch
implemented. It matches based on if the name
contains the search term as a substring.
2015-07-15 10:13:14 -07:00
fdcc6432f1 [Search] Reduced term processing
Term processing may be unnecissary. Now it
is limited to removed spcaes from the front
and end.
2015-07-15 09:25:10 -07:00
f8e028a5d1 [Search] Outlined new function
Started a new search function which manually
indexes all of the items in the tree. Still
not fully functional.
2015-07-14 17:06:55 -07:00
ea19bde1e7 [Telemetry] Provide empty series
Provide an empty series when a historical telemetry request
does not return anything for a given telemetry point.
Addresses WTD-1426.
2015-07-14 15:51:13 -07:00
5e6f1214fb [Search] Live search
As the user types, search happens with each
new keypress, so the user does not need to
press enter. (But can press enter as well.)
2015-07-14 15:24:51 -07:00
0371e2e314 [Search] Made maxResults bigger
Made it so that the default maximum
number of results is a larger number.
2015-07-14 14:26:45 -07:00
0f89e98a71 [Mobile] Clean up
Cleaned up layout and added phone only hider.
Also added tree.scss file, where all tree
node classes will be placed.
2015-07-14 14:14:12 -07:00
aa091a9d26 [Browse] Update tests
Removed reference to destroy() in the
context menu action test. #33, #47.
2015-07-14 13:53:00 -07:00
1455e5d8b5 [Browse] Removed destroy functions
Removed destroy functions from menu arrow
controller and contetxt menu action as
suggested. #33, #47.
2015-07-14 13:25:25 -07:00
d1b55bd43e Merge branch 'master' of https://github.com/nasa/openmctweb into open33 2015-07-14 13:20:37 -07:00
6f07a21bb8 [Mobile] Clean-up
Cleaned up scss and also, the
edit/new tab/full screen buttons are
hidden in mobile, temporarily.
2015-07-14 13:10:28 -07:00
dcb5af87a7 [Search] Moved result processing
Moved result processing to its own function.
2015-07-14 13:09:06 -07:00
f3678d9d52 Merge remote-tracking branch 'origin' into mobile_1 2015-07-14 13:08:54 -07:00
35d038e826 [Search] Processing as separate function
Moved the search term processing to be its
own separate function.
2015-07-14 12:55:00 -07:00
27c7410318 [Search] Moved hard coding
Moved where the search type is
prepended to the search term, to
allow future changes to it.
2015-07-14 12:39:00 -07:00
7c627fae8f [Search] More search options
If the user searches with quotes (" or ') around
the search term, then the term processor will
not put wildcards around the search term.
2015-07-14 12:32:56 -07:00
a2fd9357d8 Merge pull request #48 from slhale/open46
[Edit] No more useless tooltips
2015-07-14 12:00:10 -07:00
bf0e6692f5 [Search] Comments
Added comments to better explain how
input processing works.
2015-07-14 11:41:23 -07:00
1d0d2302d8 [Search] Moved functionality into QueryService
Moved the actual searching implementation
into the query service. The search view
controller now just calls the query service.
2015-07-14 11:31:53 -07:00
1a8fd38430 [Search] Max results
Changed the default number of results to be
a max of 25, and added a parameter to allow
the user to set this. (May be used in an
advaned search later?) Because folders are
filtered out, the number displayed is not
necissarily exact.
2015-07-14 10:56:52 -07:00
503811f69c [Search] Search behaves as expected
Seaching any substring of a domain
object title now will give the domian
object as a search result. Still not
case sensitive. Empty string will
return all results. Special characters
do not search correctly. Still has
result number cap.
2015-07-14 10:51:03 -07:00
5892594668 [Search] More robust search
Seach now searches using terms, which
are the domain objects' names split
at the spaces. Still does not work with
any substring, must be space separated.
Not case sensitive.
2015-07-14 10:37:57 -07:00
b9f8f6e33d [Search] Code style 2015-07-14 10:02:27 -07:00
457193657f [Search] Added input ID parameter
Added a parameter to the controller's search
function so that the html side can clearly
see/choose which input ID is being used as
the search input.
2015-07-14 09:59:48 -07:00
c92d15ba42 [Search] Cleanup
Added and removed some comments, for clarity
2015-07-14 09:55:26 -07:00
d7dd53c2da [Search] Checks for folders
Search now (again) checks to not add
folders to the results list. This later
should be made into a policy.
2015-07-14 09:45:31 -07:00
b35fddefc0 [Search] Removed getObjectByID
Was no longer necissary with the current
method of search() getting objects.
2015-07-14 09:38:44 -07:00
07e08c283a [Search] Partway works
The search function now returns actual
objects are results. They may not be the
correct results though.
2015-07-14 09:36:58 -07:00
89d0ea6506 [Search] Fixed uninitialized array bug 2015-07-14 09:17:14 -07:00
75ce5cd0e9 [Search] Changed variable names
Because of the async funtion, changed
variable names in serach2 to make more clear.
2015-07-13 17:05:23 -07:00
9a7bbd92bd [Mobile] Cleaned up
Cleaned up the transistion css to
be more DRY.
2015-07-13 17:04:14 -07:00
b994b2a862 [Search] Style 2015-07-13 16:57:27 -07:00
3cb0b41b22 [Search] Poking around EasticSearch
Sucessfully queries elasticsearch, but displaying the
results poses problems because of asych things.
2015-07-13 16:53:48 -07:00
edcafc5835 [Mobile] Remove Bar
Remove the splitter bar on mobile
and tablets.
2015-07-13 13:56:44 -07:00
7d09df9a85 [Mobile] Constants
Re-edited media query constants
to be cleaner and consistent.
2015-07-13 13:11:27 -07:00
b00eee00fc [Mobile] Redefine
Renames variables to be clearer.
Breaks up constants into parts to be
cleaners and straightforward. Also
removed the ratio.
2015-07-13 13:02:57 -07:00
c0d83f9395 [Mobile] Format
Reformatted the rwd media
query rules.
2015-07-13 12:39:09 -07:00
be757066f5 [Mobile] Desktop adjusted
Adjusted the desktop to accomodate browser
orientation changes. Done so by forgoing
checking the orientation because the
actual device can be in landscape, but it
reads orientation based on the viewport.
2015-07-13 11:18:51 -07:00
5980575918 [Search] Fixed results display problem
Fixed problem with search results not
properly being displayed in the search
view. (Checked that things were defined
before calling them.)
2015-07-13 11:14:02 -07:00
409d12aa75 [Search] Created QueryService
Created a query service which handles the
creation of the searchable list of items.
This has partially broken the search view.
2015-07-13 10:34:06 -07:00
885433390e [Mobile] Fix for emu and act
Adds 2 landscape conditions for tablets and
phones to check if they are in landscape, in
the actual tablet, or in an emulate of the tablet,
then it displays.
2015-07-13 10:32:58 -07:00
687f810475 [Mobile] Constants
Fixed width constant to work for laptop.
2015-07-13 10:23:28 -07:00
137a60f510 [Mobile] Constants
Fixed constants to work for laptop.
2015-07-13 10:16:52 -07:00
2432e9c2aa [Search] Using ElasticSearch 2015-07-13 10:13:46 -07:00
46d5a1431f [Mobile] Added Constants
Rixed mis-initialized desktop
constant
2015-07-13 09:24:01 -07:00
404d02ec23 [Mobile] Added Constants
Re-edited constants to set min
ones for the desktop screen, that
is based on the device size.
2015-07-13 09:17:59 -07:00
03c0678cbe [Search] Syle modifications
Changed 'i += 1' in for loops to 'i++'
2015-07-10 16:54:42 -07:00
04257aedae [Search] Gets user input
Now sucessfully gets user input for the
search term.
2015-07-10 16:52:00 -07:00
33b30f7583 [Search] Removed unnecissary variable
Removed $scope.items, because it was unnecissary.
2015-07-10 15:16:50 -07:00
8eda495aa7 [Search] Results without folders
Folders are now no longer included in
the results list.
2015-07-10 15:06:19 -07:00
a337e04fae [Search] Removed unnecessary file
Removed search-item.html, as it was the same as
grid-item.html. Now search.html uses grid-item.html.
2015-07-10 14:51:18 -07:00
2e7f23a766 [Search] Results list displayed
After searching, a results list is displayed.
The list is composed of grid-items.
2015-07-10 14:48:15 -07:00
6d1cb85a07 [Search] Not case sensitive
Search is no longer case sensitive.
2015-07-10 14:20:04 -07:00
b5756d2b99 [Search] Items list updating
The search results now updates the items
list when called to make sure that it gets
all of the recently added items.
2015-07-10 12:53:12 -07:00
eec955317a revert back to
4d9dc3624b
2015-07-10 12:47:00 -07:00
efba0f0236 [Search] Search results by name
doSearch() does search by getting each
object's name. Still buggy.
2015-07-10 12:44:07 -07:00
67890a7298 [Mobile] Test 2015-07-10 12:38:04 -07:00
dd457f26c6 [Mobile] Device
Added max width to tablet check.
2015-07-10 12:32:34 -07:00
85c6bda5c9 [Mobile] Device
Adjusted Tablet slide Constant.
2015-07-10 12:21:13 -07:00
b7b5f87002 [Mobile] Device
Adjusted Comp Constant.
2015-07-10 12:16:43 -07:00
b0c5d807e7 [Mobile] Device
Removes splits desktop
settings into 2, one
for landscape and another
for portrait.
2015-07-10 11:51:56 -07:00
4d4776e0ef [Mobile] Device
Removes desktop mixin settings
that do not use device width and
height.
2015-07-10 11:40:57 -07:00
61e1aeb1d8 [Mobile] Device
Removes desktop mixin settings
that do not use device width and
height.
2015-07-10 11:40:14 -07:00
9caa603a65 [Mobile] Device
Removes desktop mixin settings
that do not use device width and
height.
2015-07-10 11:36:45 -07:00
5c99e469d5 [Mobile] Device Change
Now instead of min-width, max-width,
... etc, uses the device-width/height.
This allows the devices to use the slide
menu while the browser on a desktop
consistently stays as desktop mode, no
matter if it is resized. As a result of this
the rwd is clear on phones/tablets, but not if
user resizes browser super small.
2015-07-10 11:29:30 -07:00
4d9dc3624b [Mobile] Items
Item icons disappear now on
tablets and mobile devices.
Adjusted _items.scss to adjust the
icon class display for phones and
tablets.
2015-07-10 11:12:09 -07:00
d3ae4b729f [Mobile] More consistent
More consistent when moving from
landscape to portrait and
vice-versa on devices. However
still encountering issue with
the browser being resized.
2015-07-10 10:56:48 -07:00
4e39c4f900 [Search] Finds root folder
The search controller will now search from
the root folder (My Items) even when the view
is initiated from a folder inside of the tree.
2015-07-10 10:32:58 -07:00
30bed434fe [Mobile] Moved variables
Moved variables used for amount of
side bar and slide amount into the
mobile/_constants.scss file.
2015-07-10 09:02:46 -07:00
3e4ae4d38d [Mobile]
Reverted changes to original controller file.
2015-07-09 15:38:53 -07:00
7414275a85 [Mobile]
Reverted changes to original scss file.
2015-07-09 15:37:03 -07:00
fcb0033864 [Mobile]
Reverted changes to css file.
2015-07-09 15:32:41 -07:00
f079471a18 [Mobile]
Reverted changes to scss file.
2015-07-09 15:31:35 -07:00
1fb1174c0a [Mobile] Clean-Up
Removed unused scss constant
.
2015-07-09 15:19:29 -07:00
635e1eda69 [Mobile] Clean-Up
Removed unused menu button and
cleaned up treeCl to be treeClass.
2015-07-09 15:14:36 -07:00
40d53f941f [Mobile] TreeMenuController
Removed the TreeMenuController.js file
and from the bundle. What this achieves
is already done in BrowseController.js
2015-07-09 14:46:36 -07:00
e339ee1dd1 [Search] Asynchronous recursion
The list creation now sucessfully goes 1 level
deep into the tree for objects. Still needs
more work to delve into subfolders.
2015-07-09 14:40:52 -07:00
684a0e88a2 [Mobile] Constants
Added constants to the
mobile one with device
height.
2015-07-09 14:26:02 -07:00
30a4f15330 [Mobile] Adjusted
Adjusted the _layout.scss to
have a function that makes
something disappear on phone
and tablet.
2015-07-09 14:11:51 -07:00
dfd08000f1 [Mobile] Adjust
Adjusted the tablet amount
that the slide occurs.
2015-07-09 13:42:07 -07:00
94b306e129 [Search] Listify filetree
SearchController now attempts to convert the filetree
into a list format. Still needs to be modified to be
asynchronous.
2015-07-09 11:16:55 -07:00
82c8d26264 [Mobile]
Now does not display
the icon for the slide menu
on desktops.
2015-07-09 11:16:41 -07:00
bd236e1cb1 [Mobile] Icon
Added menu/hamburger icon.
2015-07-09 11:06:25 -07:00
e47a36e799 [Mobile] Simplified
treeSlide now uses one line that
sets it to true or false simply
like a switch. So not matter what
it will either slide or not.
2015-07-09 10:55:52 -07:00
30efec0090 [Mobile] Angular
Replaced document usage with
angular calls that change the ternary
op to flip the slide.
2015-07-09 10:53:03 -07:00
b9371ea03d [Mobile] Moved Button
Button moved to the Browse.html
and BrowseController handles the
tree slide.
2015-07-09 10:28:45 -07:00
7974f33781 [Mobile] Phone
Adjusted to differentiate
phones and tablets.
2015-07-08 16:28:40 -07:00
32eaf3893a [Search] Display search items
The search view now very rudimentarily displays
some 'search-item's.
2015-07-08 16:20:12 -07:00
cdcaedc8dd [Mobile] Added transistions
Transistions added, however still using
document.getElementById.
2015-07-08 15:57:08 -07:00
845b9a2faa [Search] Fixed comments 2015-07-08 15:34:09 -07:00
5870248617 [Search] Search framework
Created a basic framework for a search
view. It consists of a search bar and
a results list.
2015-07-08 15:32:20 -07:00
07ef4dfe8a [Mobile] Menu Slide
Menu slides, but not transition
css slides out on click. Currently
uses document, which needs to be
replaced with angular version using
 and/or  and/or
ng-class and/or ng-click.
2015-07-08 14:27:59 -07:00
342be0822f [Mobile] Gen css 2015-07-08 12:17:19 -07:00
5c56484889 [Mobile] Main scss added
Added the mobile files as imports
to the main scss files that
generate as css files.
2015-07-08 12:14:40 -07:00
2b4162c0be [Mobile] Reorganize
Reorganized the sass files. To incorporate, new
mobile directory, which holds all the mobile
sass code.
2015-07-08 12:11:48 -07:00
3704d64560 [Mobile] Push to show current 2015-07-08 11:08:31 -07:00
24fae72492 [Mobile] Left tree
Attempt to resize left
tree menu when changing device.
Currently does not move the splitter
bar.
2015-07-07 16:46:32 -07:00
79fb6eabd9 [Mobile] Menu Button
Menu button added to the
bundle and as a file modelled
after the action button.
2015-07-07 16:28:34 -07:00
1ddb00c8d6 [Mobile] Resize
Resized the height of each
item in grid based on new
tablet/phone widths.
2015-07-07 14:01:57 -07:00
8a0b77ec5c [Mobile] Folder View
Folder representation now
will be a list.
2015-07-07 13:02:40 -07:00
9e6d84a1d5 [Edit] No more tooltips
Changed the attribute of 'title' on mct-container
to 'label'. This made the tooltips in Edit mode
dissapear. #46.
2015-07-07 11:14:45 -07:00
2fc447e16f [Mobile] Comments
Added comments and reverted the
grid back to normal.
2015-07-07 10:15:25 -07:00
d828bf59f9 [Mobile] Constants/Etc
Added constants for media queries.
in _constants.scss. Also, now on tablet,
zoom is disabled.
2015-07-07 09:58:22 -07:00
b2a23ee968 [Browse] Tests completed
Completed the menu arrow controller test. All
tests are now completed. #33.
2015-07-07 09:28:01 -07:00
d8806f14aa [Mobile] Set viewport
Viewport has been set in
index.html. Then what was
implemented prior to this
(rem-display and browser-manage)
was commented out.
2015-07-07 09:08:16 -07:00
0c6a9ca857 [Mobile] Styles
Added new style to set the width
of the tree.
2015-07-06 13:15:38 -07:00
e3a96eff8d [Browse] Fixed clicking on menu
Previously any click on the context menu would
close the context menu rather than doing the
appropriate action. This is now fixed. The menu
only closes when a click happens not on the
menu. #33.
2015-07-02 15:34:11 -07:00
2b67ae42bf [Browse] Gesture and action tests
The menu gesture and the menu action tests
are completed. #33.
2015-07-02 14:00:54 -07:00
07c907b315 Merge remote-tracking branch 'upstream/master' 2015-07-02 13:14:27 -07:00
db920a7b5c [Browse] Starting tests
Created new test files for the additions. #33.
2015-07-02 12:50:48 -07:00
a582375e61 [Browse] Style
All modified code follows style guides. #33.
2015-07-02 12:38:32 -07:00
2524c75505 [Browse] Menu arrow works
The menu arrow now displays a context menu
when clicked. #33.
2015-07-02 12:36:35 -07:00
c08f972ab4 [Browse] Menu action called correctly
Both the menu gesture and the menu arrow now
correctly call the menu action. #33.
2015-07-02 11:57:03 -07:00
809a6e457c Merge branch 'master' of https://github.com/nasa/openmctweb into open33 2015-07-02 11:33:07 -07:00
30d8c1647c [Browse] Right click works
Right clicking for a context menu now
works again. #33.
2015-07-02 11:30:45 -07:00
861b4781fe Merge branch 'open33' of https://github.com/slhale/openmctweb into open33 2015-07-02 10:59:04 -07:00
4e6301edb4 [Browse] Fixed multiple clicks
Fixed having multiple calls to ContextMenuGesture. #33.
2015-07-02 10:58:19 -07:00
b965c48ff2 [Browse] Fixed multiple clicks
Fixed having multiple calls to ContextMenuGesture. #33.
2015-07-02 10:54:43 -07:00
3edd967e27 [Browse] Changed action key
Changed the key for the context menu action from
'contextMenu' to 'menu'. #33.
2015-07-02 10:30:45 -07:00
bb80b2175c [Browse] Gesture calling action
The context menu gesture (attempts) to call the
context menu action. The menu arrow still fails
to call. #33.
2015-07-02 09:36:19 -07:00
e9989ae00d [Browse] Some progress
Still doesn't work.
2015-07-01 14:32:49 -07:00
d343d38037 Merge remote-tracking branch 'upstream/master' 2015-07-01 13:30:08 -07:00
4c77dd6a69 Merge pull request #42 from nasa/reload-bundles-on-pageload
[Development] Reload bundle file with each request
2015-07-01 13:19:21 -07:00
347da6c5c2 [Build] Bump version number
Bump version number and restore snapshot status. WTD-823
2015-07-01 13:13:14 -07:00
daf780a2b4 [Build] Bump version number
Bump version number to close out Thebe, WTD-823.
2015-07-01 12:54:36 -07:00
fd98bdae4c [Frontend] Added $colorIconLink in _constants
WTD-1404
2015-07-01 10:07:47 -07:00
793d39b969 [Frontend] CSS and font updates ONLY from open1423
WTD-1404
CSS has error at this point due to missing $colorIconLink in _constants.scss;
(cherry picked from commit 2a032bf)
2015-07-01 10:04:45 -07:00
7e89c13839 [Frontend] Markup updates to label and grid-item
WTD-1423
Depends on CSS and font updates in 2a032bf
2015-07-01 09:50:53 -07:00
2a032bf66d [Frontend] CSS and font updates ONLY from open1423
WTD-1423
Cherry-pick this into open1404 to get latest fonts and CSS into open-master;
2015-07-01 09:48:35 -07:00
e0727e8485 [Frontend] Markup and CSS for link icon indicators
WTD-1423
Added small icon to upper right;
IN PROGRESS;
2015-06-30 18:13:17 -07:00
d5d7ac90ac [Frontend] Markup and CSS for link icon indicators
WTD-1423
Grid item version with link at bottom right of main icon;
2015-06-30 17:58:56 -07:00
3e5fa30d9d [Style] Add stub for label link icon 2015-06-30 16:18:37 -07:00
9ad1c25d53 [Browse] Splitting up Menu Gesture
Splitting up the context menu gesture's functionality into
separate context menu gesture and context menu actions.
The gesture watches for right-clicks, while the action
displays the menu. #33.
2015-06-30 16:17:00 -07:00
6a8cc6d9da [Frontend] Fixed line-height in .btn
WTD-1404
2015-06-30 16:07:55 -07:00
9f38914faa [Frontend] Fixed styles that were breaking Create menu
WTD-1404
2015-06-30 16:01:53 -07:00
f03a9bcc08 [Frontend] Merge mods for autoflow col width button
WTD-1404
WTD-1411
2015-06-30 15:51:22 -07:00
2054dd8497 [Frontend] Removed pulse effect from pause-play button
WTD-1404
WTD-1412
(cherry picked from commit 1b9521a)
2015-06-30 15:47:15 -07:00
5c3ccb9ee0 [Development] Reload bundle file with each request
Reload the bundle file from disk when requested, re-applying any
includes or excludes that were specified on the command line.

Allows a developer to make changes to bundles.json without having to
restart the server for them to take effect.
2015-06-30 15:24:52 -07:00
4840345524 [Browse] Stopped multiple broadcasts
Stopped the menu arrow from making multiple
broadcasts of contextmenu. #33.
2015-06-30 15:22:10 -07:00
9b26a896d3 [Frontend] Fixes for dropdown menu click issues
WTD-1404
WTD-1379
Context menu and view switcher menu fixed;
Removed <a> with <li> and put ng-click on <li>
2015-06-30 14:12:24 -07:00
06cf199872 [Frontend] Styling for context-available arrow
WTD-1404
WTD-1422
2015-06-30 13:35:21 -07:00
917d98bd3e [Browse] Created Menu Arrow
Created a menu-arrow respresentation. #33.
2015-06-30 13:33:40 -07:00
7b4ef142f5 [Browse] Fixed tree nodes
Realized that this refers to a previously hidden arrow
at the main title at the top of the page. Reverted the
changes done to the tree nodes. #33.
2015-06-30 13:32:25 -07:00
344aa8acc8 [Frontend] Adding initialization CSS defs for new mct-split-pane
WTD-1404
WTD-1399
2015-06-30 13:26:15 -07:00
9d25e3081f [Frontend] Edit mode refactored to use new mct-split-pane
WTD-1404
WTD-1399
2015-06-30 13:23:56 -07:00
73241efdc8 [Fix] Fixes bundle
Changes the persistance to the example
version.
2015-06-30 13:20:46 -07:00
57eefd7316 [Browse] Context menu gesture called
The context menu gesture is called when the user clicks
the arrow next to the title of a domain object. This does
not yet display the context menu. It also does not yet
distinguish between edit and browse mode. #33.
2015-06-30 11:18:56 -07:00
c24a459f66 [Frontend] Plot legend minor cleanups
WTD-1404
WTD-1386
2015-06-30 10:38:10 -07:00
abef44f37d [Frontend] Moved browse mode splitter settings to CSS file
WTD-1404
WTD-1399
2015-06-30 10:37:19 -07:00
cc470f671a [Core] Test missing model decorator
WTD-1334.
2015-06-30 10:14:26 -07:00
af2ca49b23 [Frontend] Added top right resize corner
WTD-1404
WTD-1376
2015-06-30 09:27:56 -07:00
8ee28c3918 [Frontend] Removed z-index on hover
WTD-1404
WTD-1383
2015-06-30 09:00:06 -07:00
29b91193fb [Frontend] New ? icon in symbols font
WTD-1404
WTD-1402
2015-06-30 08:50:06 -07:00
5f80fcabc6 [Imagery] Clear background image
Clear background image on change, WTD-1407.
2015-06-29 18:49:36 -07:00
397a545482 [Plot] Expand range to give margin for points
Expand range to give some margin for points near the edge,
WTD-1406.
2015-06-29 18:08:03 -07:00
fa8095d5bc Merge branch 'open-master' into open1317limits2
WTD-1405

Conflicts:
	platform/features/layout/res/templates/elements/telemetry.html
2015-06-29 17:30:33 -07:00
1c4cca3f91 Merge branch 'open1392b' into open-master 2015-06-29 16:30:48 -07:00
ef77ca91e7 Merge branch 'open1363' into open-master 2015-06-29 16:27:10 -07:00
970698c77b Merge remote-tracking branch 'nasa/open1392' into open1392b
Conflicts:
	platform/commonUI/general/res/fonts/symbols/wtdsymbols.eot
	platform/commonUI/general/res/fonts/symbols/wtdsymbols.svg
	platform/commonUI/general/res/fonts/symbols/wtdsymbols.ttf
	platform/commonUI/general/res/fonts/symbols/wtdsymbols.woff
2015-06-29 16:09:01 -07:00
0b4aa730f4 Merge pull request #30 from slhale/open26
[Events] Create tests for real time version
2015-06-29 15:42:33 -07:00
87f982b03e Merge remote-tracking branch 'nasa/open-master' into open-master 2015-06-29 15:10:02 -07:00
29283e4fb5 Merge branch 'open1233' into open-master 2015-06-29 15:09:40 -07:00
cc64412d78 Merge remote-tracking branch 'origin/open1344' into open-1348 2015-06-29 14:58:27 -07:00
52cf918d08 Merge remote-tracking branch 'origin/open1317' into open-1346 2015-06-29 14:44:24 -07:00
2ab3932ce1 Merge branch 'master' of https://github.com/nasa/openmctweb into open26 2015-06-29 14:43:19 -07:00
a8fdbdc98b [Events] Changed bundles.json
Changed bundles.json so that rtevents are not
included by default. #26.
2015-06-29 14:42:54 -07:00
a7c90f2476 [Frontend] platform-specific changes to CSS, fonts and markup
WTD-1392
WTD-1360
WTD-1394
New minus symbol added to font;
Updated folder symbols art;
CSS tweaked for reset button (WTD-1394) and direction sign;
Font project file updated;
(cherry picked from commit f6c7d8e)
2015-06-29 14:39:46 -07:00
f816b5018a [Events] Style
Removed unused variables. #26.
2015-06-29 13:15:56 -07:00
ebbac233aa Merge branch 'open1373' into open-master 2015-06-29 13:15:43 -07:00
b91b197f5b [Events] Comments
Removed todo comment. #26.
2015-06-29 13:14:51 -07:00
14694c675b [Events] All tests work
All of the tests for the RT Events are working. #26.
2015-06-29 13:13:05 -07:00
56c3e72d32 Merge branch 'master' of https://github.com/nasa/openmctweb into open26 2015-06-29 13:10:46 -07:00
6616dedf63 [Events] Controller test correction
Test for the RT Event List controller now
actually works. #26.
2015-06-29 13:09:15 -07:00
38ad8058e8 Merge remote-tracking branch 'origin/open1223' into open-1338
Resolve merge conflicts due to whitespace changes.
2015-06-29 12:08:16 -07:00
66f8ee7194 [Common UI] Fix min/max bounds of mct-split-pane
WTD-1363. Use correct dimension (width or height)
when determining maximum splitter position.
2015-06-29 11:54:40 -07:00
84345caf7d [Style] Convert tabs to spaces 2015-06-29 11:51:28 -07:00
b524dc451f [Common UI] Remove unused function
Remove obsolete function from mct-split-pane, WTD-1363
2015-06-29 11:27:48 -07:00
c262fe814c [Frontend] Added pointer-events: none
WTD-1363?
2015-06-29 11:08:28 -07:00
4c6b3c7a13 [Events] Policy test correction
The view policy test for real time Messages
actually now works. #26.
2015-06-29 09:56:59 -07:00
933927cda1 [Common UI] Reduce digest count
Reduce number of digest cycles triggered by mct-resize;
only trigger a new digest cycle when size actually
changes. #19.
2015-06-29 09:48:32 -07:00
d120c8b139 Merge branch 'master' of https://github.com/nasa/openmctweb into open26 2015-06-29 09:10:23 -07:00
762f4d59fc [Layout] Disallow folders
Disallow layouts in folders, WTD-1373.
2015-06-27 12:43:32 -07:00
12b34b5d58 Merge pull request #27 from shivamndave/open25
Addresses #25
2015-06-27 12:26:15 -07:00
a752a21bf8 Merge branch 'open-master' into open1388 2015-06-27 12:17:45 -07:00
8c5b497377 [Common UI] Tweak mct-split-pane
Tweak mct-split-pane for use in timeline; particularly,
improve synchronization between views. WTD-1363.
2015-06-27 11:59:18 -07:00
a0d5a1a196 [Common UI] Get split pane width from elements
WTD-1363.
2015-06-27 10:46:42 -07:00
c79b018c84 [Common UI] Remove obsolete checks
Remove obsolete minimum/maximum checks, WTD-1363.
2015-06-27 10:40:05 -07:00
a1eb15db77 [Common UI] Change min/max width handling in splitter
In split pane, obey the min-width and max-width style properties
of first element within the pane. WTD-1363.
2015-06-27 10:35:49 -07:00
8841f25186 [Frontend] Create menu style normalized
WTD-1392
WTD-1367
WTD-1391
Some significant reorging in _menus.scss and _constants;
Create menu normalized with context menu styles;
Bottom bar of overlay overflow set to visible to prevent button clipping;
2015-06-26 18:38:33 -07:00
e3cb9dae5a [Frontend] Bottom bar restyled
WTD-1392
WTD-1362
Fixed font size in botttom bar;
Added font-smoothing to global.scss;
Bottom bar design restyled;
2015-06-26 17:12:24 -07:00
72c812cdaa [Common UI] Enforce split pane min/max
WTD-1363.
2015-06-26 16:30:39 -07:00
39372ea9ca [Common UI] Use mct-split-pane in Browse
WTD-1363.
2015-06-26 16:21:20 -07:00
0ee76421e0 [Common UI] Add mct-splitter
WTD-1363.
2015-06-26 15:59:16 -07:00
83be455b0b [Frontend] Added user-select: none to .btn, .l-btn class
WTD-1392
WTD-1074
2015-06-26 15:52:07 -07:00
50bf7b7b32 [Frontend] Removed crosshair cursor from image class
WTD-1392
WTD-1371
2015-06-26 15:38:38 -07:00
0fd1fb709b [Config] Fix for priority of New Tab button
WTD-1392
WTD-1359
Set "Open in new tab" button to have priority "preferred";
Set fullscreen mode button to priority "default";
Tweaked full screen button tooltip text;
2015-06-26 15:36:55 -07:00
243c832c25 [Common UI] Add mct-split-pane
Add mct-split-pane directive, to simplify adding splitters.
WTD-1363.
2015-06-26 15:32:37 -07:00
e582092844 [Comments] Add missing space 2015-06-26 15:23:22 -07:00
4e03d7b29b [Events] RT Messages policy test
The view policy test for real time Messages
now works. #26.
2015-06-26 15:17:17 -07:00
d729cfcd3e Merge remote-tracking branch 'origin/open1329' into open1343 2015-06-26 15:13:21 -07:00
f9782f1f45 Merge remote-tracking branch 'origin/open1273' into open-1340 2015-06-26 15:03:19 -07:00
41e75d7494 [Events] EventListController test
Test for the Event List controller now works. #26.
2015-06-26 14:59:04 -07:00
95f9d783d3 [Events] Column tests working
Tests for the domain and range columns now work
for the real time event list. #26.
2015-06-26 14:23:41 -07:00
f8f2019dad Merge remote-tracking branch 'nasa/open1322' into open1388 2015-06-26 13:25:12 -07:00
d42abfef98 [Addressability] Comments
Added comments to the slight change in Browse
Controller and BrowseObjectController. WTD 25.
2015-06-26 12:58:16 -07:00
bd57064ca3 Merge remote-tracking branch 'upstream/master' into open25 2015-06-26 12:52:30 -07:00
2e716bdbe3 [Addressability} Unit Test
Completed unit tests to accomodate
for url path check prior to setting
the current . WTD 23.
2015-06-26 12:51:25 -07:00
2161707954 Merge pull request #24 from shivamndave/open23
Addresses #23
2015-06-26 12:41:43 -07:00
286ac5628b [Drag-Drop] Check for default prevented correctly
Check for defaultPrevented property instead of trying
to check nonexistent method isDefaultPrevented(); for
WTD-1354 in the context of WTD-1233.
2015-06-26 11:53:45 -07:00
3de4473159 [Addressability] Re-Edit Bug
Fixed re-edit but by implementing
what Victor said in issue #25. Adding
check on /browse/ part of url and then
changing route works WTD 23.
2015-06-26 11:52:03 -07:00
f681d07643 Merge branch 'open-master' into open1233 2015-06-26 11:50:48 -07:00
cd70ed6f94 Merge remote-tracking branch 'upstream/master' into open23 2015-06-26 11:44:11 -07:00
c655b16f9e Merge pull request #22 from slhale/open18
Open18
2015-06-26 11:44:04 -07:00
fce327a398 [Dev/Frontend] New symbol added to symbols font
WTD-1322
Platform-only commit;
(cherry picked from warp1322 commit 7254013)
2015-06-25 15:17:08 -07:00
750d3f473e [Events] Starting tests
Starting to write tests for the real
time messages view. #26.
2015-06-25 15:04:53 -07:00
2a347f1596 [Windowing] urlService
Removed the urlService from the edit
and browse bundles. Added the urlService
to the general bundle. WTD 23.
2015-06-25 14:53:52 -07:00
bf8b0bae03 Merge branch 'master' of https://github.com/nasa/openmctweb into open18 2015-06-25 14:51:18 -07:00
42361aff25 Merge branch 'master' of https://github.com/nasa/openmctweb into open26 2015-06-25 14:50:32 -07:00
193df4fde3 [Windowing] Excess function
Removed extra function from
urlService. WTD 23.
2015-06-25 14:37:01 -07:00
c98a381a42 [Events] Created RT Messages
Created a real-time version of the Messages view called
RT Messages.
Additionally, fixed the MessagesViewPolicy test. #18.
2015-06-25 14:36:14 -07:00
3d0e0af7f2 [Windowing] Remove variable
Excess variable used for CancelAction's
ReturnToBrowse. WTD 23.
2015-06-25 14:28:38 -07:00
5ba0f9d7a1 Merge remote-tracking branch 'upstream/master' into open23 2015-06-25 14:08:46 -07:00
3a371483ab [Windowing] urlService
Added the urlService to the unit
tests for the cancel and save buttons
also removed unused services. WTD 23.
2015-06-25 14:07:02 -07:00
6d28add055 [Windowing] urlService
urlService added to the edit action
bundle.json in addition to being
implemented, however 2nd time edit
bug still occurring. Also fixed urlService
test suite. WTD 23.
2015-06-25 13:16:15 -07:00
510597a51a [Scrolling List] Show limits in RT scrolling list
Show limits in a real-time scrolling list view,
WTD-1317.
2015-06-25 12:56:22 -07:00
dddc2f976e Merge branch 'open1223' into open1317limits
Conflicts:
	platform/features/layout/res/templates/elements/telemetry.html
2015-06-25 12:48:02 -07:00
e17b6c5a92 Merge branch 'open-master' into open1317limits 2015-06-25 12:45:03 -07:00
270cb48db0 Merge remote-tracking branch 'origin/open1256' into open-1336 2015-06-25 12:44:23 -07:00
ffc2d98914 Merge remote-tracking branch 'origin/open1241' into open-1335 2015-06-25 12:35:19 -07:00
bd5ba48270 Merge remote-tracking branch 'github/master' into open-master 2015-06-25 12:05:34 -07:00
3df12788f9 Merge remote-tracking branch 'nasa/open1341' into open1345 2015-06-25 11:53:13 -07:00
685e384858 [Dev/Frontend] PLATFORM CHANGES: use data-value instead of css class selection
WTD-1341
(cherry picked from commit 5151637 in warp1341)
telemetry.html now uses data-value instead of class;
Mods to effects.scss to add customKeyframes mixin;
Added default transition time to mixin trans-prop-nice in mixins.scss;
2015-06-25 11:46:15 -07:00
61fe77cc17 [Drag-Drop] Add test cases
Add test cases for avoiding redundant drop handling,
WTD-1233.
2015-06-25 11:35:18 -07:00
abaca86290 Merge remote-tracking branch 'origin/open1291' into open-1330 2015-06-25 11:30:33 -07:00
6f3d6ec12f [Drag-Drop] Prevent redundant drops
Mark default as prevented and check for prevention of
default when handling mctDrop events (which allow
views to follow up on drop gestures by positioning
objects within themselves) avoiding redundant drops
into embedded views. WTD-1233.
2015-06-25 11:27:58 -07:00
6c3aeb2784 [Comments] Comment matches exported name 2015-06-25 11:19:01 -07:00
a3f3f5bb27 Merge remote-tracking branch 'origin/open1170' into open-1318 2015-06-25 11:06:44 -07:00
482f355a08 [Fixed Controller] Stop tracking bounds
Stop tracking size of a fixed position view; no longer
necessary now that background grid is handled by CSS.
Change made in the context of WTD-1344.
2015-06-25 11:00:15 -07:00
9e55befb2a [Fixed Controller] Add test cases
Add test cases for updating position of elements in
a fixed position view, WTD-1344.
2015-06-25 10:58:01 -07:00
4279c9e4bf [Fixed Position] Remove obsolete cell styles
Remove obsolete cell style calculations; background
grid is handled by CSS now. Changed in the context of
WTD-1344.
2015-06-25 10:48:49 -07:00
791504584d [Fixed Position] Update positions when grid size changes
Update positions of elements in a fixed position
view when grid size changes (e.g. when switching
from one domain object to another.) WTD-1344.
2015-06-25 10:45:50 -07:00
fd6459394a [Windowing] urlService
Changed folder location of
services and therefore urlService
to general/src/ instead of being in
browse/src/. WTD 23.
2015-06-25 10:38:39 -07:00
93ba4ce715 [Windowing] Unit Test
Added Unit test adjustments for
the change in urlService (addition
of a separate function for getting
the url for a location, used by browse
controller. WTD 23.
2015-06-25 10:10:13 -07:00
70f5a001ee Merge remote-tracking branch 'nasa/open1341' into open1345 2015-06-25 10:06:18 -07:00
c6405c50df Merge branch 'master' of https://github.com/nasa/openmctweb into open18 2015-06-25 10:00:21 -07:00
1961ba20c0 Fixing merge
Re-added the tests.
2015-06-25 09:59:52 -07:00
d3ff49b90b Merge remote-tracking branch 'nasa/open1319' into open1320 2015-06-25 09:59:23 -07:00
288692f57c Fixing merge
Re-added the event list controller.
2015-06-25 09:57:43 -07:00
a993ee6126 Fixing conflicts 2015-06-25 09:48:09 -07:00
ca6f44f7b6 [Windowing] URL Fix
The URL malformation was caused by the same
function returning the view and index path for
both the newtab window and the browse controller
window. As a result, the BrowseController now only
uses a path that excludes the view and index paths,
like before the UrlService was added. Another,
separate function uses this url for the location
and includes the view and index paths for new
tabs, in order to maintain the current view. WTD 23.
2015-06-25 09:47:58 -07:00
163b210fbb [Events] Real-time telemetry version
Creating an additional event list which can handle real
time data, not historical data. #18.
2015-06-25 09:39:29 -07:00
f6298c162c [Events] Real-time telemetry version
Creating an additional event list which can handle real
time data, not historical data. #18.
2015-06-25 09:27:24 -07:00
25d3a4d8c2 Merge remote-tracking branch 'nasa/open1323' into open1324 2015-06-25 09:25:42 -07:00
9ac6abe78f Merge remote-tracking branch 'nasa/open980' into open1342 2015-06-25 09:07:27 -07:00
40957b1c29 [Scrolling List] Enforce row count
WTD-1317
2015-06-25 08:50:44 -07:00
9f137513d9 Merge branch 'open-master' of https://trunk.arc.nasa.gov/git/wtd into open1341 2015-06-24 19:25:27 -07:00
19748ba17c [Dev/Frontend] Cherry-picking platform changes from warp1341
WTD-1341
Re-rendered css file;
2015-06-24 18:56:38 -07:00
52a7bd1033 [Dev/Frontend] Cherry-picking platform changes from warp1341
WTD-1341
2015-06-24 18:55:15 -07:00
e357df2fe5 [Dev/Frontend] Cherry-picking platform changes from warp1341
WTD-1341
2015-06-24 18:52:52 -07:00
a7c09f8c79 [Scrolling List] Add realtime scrolling list
Add realtime scrolling list view, for compatibility
with realtime-only data. WTD-1317.
2015-06-24 18:10:59 -07:00
d2fe71d82b [Events] Fixed tabs
Removed tabs from EventListController and replaced
with spaces. #18.
2015-06-24 17:08:03 -07:00
203de023d2 [Events] More general view policy
The Messages view policy now will allow any object
that has a telemetry type of string to have access
to the Messages view, not just Event List
Generators. (The test for this still does not work
though.) #18.
2015-06-24 17:05:14 -07:00
889ca79c5e Merge pull request #21 from shivamndave/open16
Addresses #16
2015-06-24 16:30:09 -07:00
fd81c5c859 [Events] No Period
No longer asks for a period when creating a
new Event Message Generator. #18.
2015-06-24 15:19:47 -07:00
bd9010e2bc [urlService] CleanUp/Refactor
Adjusted BrowseController's useRoute
to use the urlService instead. Also
adds urlService as a depency through
bundle. Unit test also adjusted to
account for a mockUrlService and
a different value being passed into
mockLocation.path(). WTD 16.
2015-06-24 14:06:09 -07:00
6a96f1d395 [Frontend] Added icomoon.io project file 2015-06-24 13:54:57 -07:00
14a83e143c [Frontend] New symbols font and CSS adjustments
WTD-980
WTD-396
Minor sanding and shimming;
Updated symbols;
Create super-menu now uses key color;
Removed unused wtdsymbols-v2* font files;
2015-06-24 13:39:31 -07:00
befbcab892 [Telmetry] Add test cases
Add test cases for TelemetrySubscription related to listening
for mutation, to support views of domain objects which delegate
telemetry, for WTD-1329.
2015-06-24 13:25:07 -07:00
360c3fcf15 [Telemetry] Update specs
Update specs to reflect changes for WTD-1329.
2015-06-24 13:17:42 -07:00
10e47e6f48 [Events] Fixed comments
Fixed comments to refer to event lists
correctly. #18.
2015-06-24 13:14:19 -07:00
c827c40c03 [Windowing] used
Used  instead of window in the
NewTabAction. WTD 16.
2015-06-24 12:58:48 -07:00
bcfe80fbdc [Plot] Handle changes to telemetry objects
Handle changes to the set of visible telemetry objects
in a plot; addresses WTD-619, which is related to WTD-1329.
2015-06-24 12:54:49 -07:00
c606055a3b [Windowing] Format
Slight formatting change.
WTD 16.
2015-06-24 12:54:49 -07:00
f2df0bfdbb [Core] Expose 'topic' service
Expose 'topic' services, which supports updating telemetry
subscriptions on mutation for WTD-1329.
2015-06-24 12:53:43 -07:00
6863af9cd9 [Windowing] Comment/Formatting
Reformatted code and added comments
to the unit test. Also refined the
NewTabActionSpec unit test to be
clearer. WTD 16.
2015-06-24 12:50:21 -07:00
13eef59e4f [Windowing] Unit Test
Added mockContext to
UrlServiceSpec unit test
in order to reach the
domainObject's context
capability. WTD 16.
2015-06-24 12:31:40 -07:00
f98344b5f6 [Telemetry] Unsubscribe on composition change
WTD-1329.
2015-06-24 12:27:20 -07:00
7a531493d8 [Telemetry] Listen for mutation
Listen for mutation from telemetry subscriptions,
WTD-1329.
2015-06-24 12:24:43 -07:00
21f4433d99 Merge branch 'open18' of https://github.com/slhale/openmctweb into open18
Conflicts:
	platform/features/events/test/policies/MessagesViewPolicySpec.js
2015-06-24 12:13:29 -07:00
e0f672d40d [Core] Add test case for shared listener
Add test case for sharing listeners across mutation
capability instances, WTD-1329.
2015-06-24 12:12:50 -07:00
adc4a1b828 [Events] Tweaked tests
Changed some test names to be more descriptive.
Moved the policy test to another folder.
Blanket coverage now works. #18.
2015-06-24 12:11:04 -07:00
877461c4a4 [Core] Add dependency to mutation
Add the 'topic' dependency to the mutation capability,
WTD-1329.
2015-06-24 12:08:47 -07:00
00d1728dd3 [Events] Tweaked tests
Changed some test names to be more descriptive.
Moved the policy test to another folder.
Blanket coverage now works. #18.
2015-06-24 12:07:06 -07:00
1a6d92ee4e [Core] Add topic service
Add topic service to support listeners, such as the
mutation listener added for WTD-1329.
2015-06-24 12:02:40 -07:00
fdfa35d1da [Frontend] New symbols font and CSS adjustments
WTD-980
WTD-396
Changed glyph for stacked plots;
Normalized button line-heights and size of required symbol;
Updated symbol art in symbols font;
Restored mistakenly removed "menu" gesture to grid-item;
2015-06-24 11:42:29 -07:00
8926d4b2fb Merge remote-tracking branch 'upstream/master' into open16 2015-06-24 11:34:33 -07:00
43cfab1031 [Windowing] Unit Test
Unit Tests for UrlService and NewTabAction
created and partially written. UrlService
returns 100% and NewTabAction returns 88%.
WTD 16.
2015-06-24 11:32:59 -07:00
ff8e6f40bb [Events] More style
Edited comments to clarify the sources of
files. #18.
2015-06-24 11:32:13 -07:00
e7ce0f2ded Merge branch 'master' of https://github.com/nasa/openmctweb into open18 2015-06-24 11:26:52 -07:00
ebfb4cd055 [Events] Removed mct-data-table test
Removed the test for MCTDataTable because it
is a directive. #18.
2015-06-24 11:20:38 -07:00
86240a337f [Events] Controller and populator tests
Created tests for EventListController and
EventListPopulator. #18.
2015-06-24 11:17:30 -07:00
54cf5a2c59 [Events] Changed where row reversal happens
Changed where in the code the row are reveresd
(wrt scrolling lists) so that the most recent
messages are on the bottom. The rows are now in
the correct order from getRows, rather then
updateRows. #18.
2015-06-24 11:16:03 -07:00
b30cbb18ec [Core] Add spec for 'topic' service
Add spec for a 'topic' service which will provide
the ability for messaging within a local instance
of an application. WTD-1329.
2015-06-24 10:55:34 -07:00
e7598adcee [Events] View policy test
Created a test for the MessagesViewPolicy. #18.
2015-06-24 10:40:03 -07:00
c668fa041a [Core] Allow listening for mutation
Allow listeners to register with a domain object's
mutation capability to detect changes to that
domain object. Allows other components to respond
to these changes without resorting to polling on
timestamp or similar. WTD-1329.
2015-06-24 10:20:49 -07:00
ba1f86da25 [Events] Restricted when view avaliable
Created a new policy to only allow the Messages view
to be avaliable for Event Message Generators. #18.
2015-06-24 10:15:09 -07:00
47647f4ada Merge remote-tracking branch 'nasa/open-master' into open-master 2015-06-24 10:06:10 -07:00
1dbd6fc868 Merge pull request #20 from nasa/open14
[Frontend] Fix to prevent infobubbles from preventing clicks
2015-06-24 10:05:16 -07:00
f617a01a4d Ticket WTD-1315
Merge branch 'open-master' into open475
2015-06-24 09:56:08 -07:00
83cc0b65d5 [Windowing] Comments
Added comments to files. WTD-16.
2015-06-23 16:35:34 -07:00
61d9545414 [Windowing] UrlService
UrlService added which takes in a
mode (browse or edit), and also a
domainObject. Returns the url
path to that domainObject. WTD-16.
2015-06-23 16:11:06 -07:00
db3e132799 [Frontend] New symbols font and CSS adjustments, in-progress
WTD-980
WTD-396
2015-06-23 16:07:29 -07:00
2a9aa7ee2f [Events] Beginning test setup
The files needed to write the tests are in place. #18.
2015-06-23 15:54:48 -07:00
567ccf0454 [Events] More style
Removed part of comment. #18.
2015-06-23 15:42:22 -07:00
5d2afac83b [Events] Window injected with Angular
Used  provided by angular to better follow
style guidelines, as well as for utility in testing
later. #18.
2015-06-23 15:40:12 -07:00
21462bf60d [Windowing] View Set
Sets the view to bethe current
page's view mode. WTD-16.
2015-06-23 15:39:48 -07:00
5da210d350 [Events] More style compliance
More small changes for style. #18.
2015-06-23 15:09:34 -07:00
7d3c2b7243 [Events] Style compliance
Made some small changes to keep up with
the style standards. #18.
2015-06-23 14:47:21 -07:00
d1dc2da4c8 [Plot] Remove unused function
Remove unused function related to enforcing fixed duration
in plots, WTD-1273.
2015-06-23 14:40:32 -07:00
581f14d117 [Events] Event telemetry generator working
Event telemetry generator now works again, giving a timestamp
and a message string. Additionally, removed excess files which
previously were used for the EventListController. #18.
2015-06-23 14:39:40 -07:00
c4006646f8 [Events] More generalized data format
Made the EventListController use domain and range types, rather
than severity, domain, and event message. This allows it to be
more generalized, which should be helpful with different data
formats later on. #18.
2015-06-23 14:21:11 -07:00
d6a31dcef3 [Plot] Update failing specs
Update failing specs for changes related to fixed duration
plots, WTD-1273.
2015-06-23 14:17:28 -07:00
e5b0af47e1 Merge branch 'open-master' into open1273
Merge latest from master branch into topic branch
for WTD-1273.
2015-06-23 14:06:42 -07:00
065a5a6fbf [Limits] Disable failing specs
Disable specs which are failing after changes to support
limits, WTD-1223.
2015-06-23 13:43:00 -07:00
9609987562 [Events] Scrollbar moves with data
The scroll position now moves down when a new row is added
to the data table. This means that when the scroll position
is at the bottom, it will stay there, even with new updates
adding onto the botton. #18.
2015-06-23 13:33:09 -07:00
29efb5cf3b [Windowing] Selected Object
Uses the context to get the selected object
or the navigated object. This allows contextual
menu new tab access from the tree. WTD-16.
2015-06-23 13:32:09 -07:00
a4ea0dd047 Merge branch 'open-master' into open1223
Merge latest from master branch into topic branch for
WTD-1223
2015-06-23 13:29:47 -07:00
dc4ce59dbd Merge branch 'open-master' into open1256 2015-06-23 13:14:17 -07:00
30e51e783e [Core] Add JSDoc
Add JSDoc to decorator which provides missing models,
WTD-1241.
2015-06-23 13:03:17 -07:00
14fbd64ae4 Merge branch 'open-master' into open1241
Merge latest from master branch into topic branch
for WTD-1241.
2015-06-23 13:00:27 -07:00
fdab799e5b [Events] Changed directive variables
Changed scrollDirection to ascendingScroll, which acts like
a boolean. Now there is proper communication between the
html and the directive itself. #18.
2015-06-23 12:40:50 -07:00
3337777fea [Events] Changed file structure
Changed file structure to include a separate
directives directory. #18.
2015-06-23 11:48:08 -07:00
e55cd88d38 [Windowing] View
Includes the view using the
.search().view to find
the view key and append that to the
end of the url. Prints this out using
the alert window. WTD-16.
2015-06-23 11:38:01 -07:00
a5d5fa0796 [Events] Table height detection
Created an mct-data-table directive. We are able to detect changes in
the height of the table now, which will be used to determine
any corresponding scrolling. #18.
2015-06-23 11:37:57 -07:00
e4db4d3802 Merge branch 'open-master' into open1291
Merge in latest from master branch into topic branch
for WTD-1291.
2015-06-23 11:33:27 -07:00
e38ad7b082 [Windowing] Path Alert
Alerts user of the current path
using an alert window, however
the path is partially shown.
It is the part of the current
path after index.html#. WTD-16.
2015-06-23 11:05:00 -07:00
c35c9c43b7 [Frontend] Tweak size of spinner
WTD-1323
2015-06-22 18:47:58 -07:00
cb715a9d48 [Frontend] Merge in platform CSS changes
WTD-1319
WTD-768
WTD-841
Change CSS for autoflow-tabular header;
2015-06-22 18:41:04 -07:00
e516d886a6 [Plot] Treat any modifier key as pan
Treat any modifier key as a pan gesture when click-dragging in
a plot; this is more resilient to cross-platform nuances.
WTD-1273.
2015-06-22 18:12:25 -07:00
d5a9019493 [Windowing] Comment Adjusted
Changed window to tab in comments in
file. WTF-16.
2015-06-22 15:54:32 -07:00
1c445e1ce3 [Windowing] New Tab Adjustment
Added NewTabAction to spec file and adjusted
it to new name. Also changed comment in
NewTabAction along with a code fix.
WTD-16.
2015-06-22 15:44:09 -07:00
c7154447e2 [Windowing] Tabbing Rename
Renamed all instances of NewWindow to be
NewTab instead. WTD-16.
2015-06-22 15:35:08 -07:00
dc4436e890 [Windowing] Unit Test Adjustment
Added comments to the NewWindowActionSpec.js
file. WTD-16.
2015-06-22 15:15:46 -07:00
02265c82d6 [Windowing] Unit Test
Completes Unit Test. Added a new file:
NewWindowActionSpec.js, which performs the
Jasmine test for NewWindowAction.js. The
test specifies a mockWindow with a mockUrl
and then adds both to a NewWindowAction.
Also suite.json contains the NewWindowActon
path. In order for NewWindowAction.jsWTD-16.
to be reached. WTD-16.
2015-06-22 15:10:55 -07:00
fd1c847e2c [Windowing] Remove Varibale
Removed the variable currentUrl because it
was not needed. WTD-16.
2015-06-22 15:06:12 -07:00
546af71263 Merge remote-tracking branch 'upstream/master' into open16 2015-06-22 14:06:40 -07:00
683a733ae1 [Windowing] SASS Edit
Adjusted the SASS file to
not hide the new window button. Also
removed the overwrite metadata function
that was used to temprarily allow us to
view the new window button. WTD-16.
2015-06-22 14:00:25 -07:00
7be7844824 [Events] Reversed viewing order
When viewing an event message generator new messages are now added to the
bottom of the display, rather than being added to the top and pushing
the other messages down by one. #18.
2015-06-22 13:40:55 -07:00
bd6dc758fa Merge remote-tracking branch 'upstream/master' into open16 2015-06-22 13:22:42 -07:00
140e3a1fb6 [Windowing] Comments
Added comments to the perform function
WTD-16.
2015-06-22 13:20:57 -07:00
6b2edc4469 [Windowing] Opens Url
Instead of displaying a dialog of
the url, the url is opened in a new
tab using the new window button.
WTD-16.
2015-06-22 13:18:00 -07:00
8d9d8d4900 [Windowing] Display URL
Alert box when pressing new tab button
displays the current url, that will be
opened in the new tab. WTD-16
2015-06-22 13:14:39 -07:00
2fbfcc1333 [Windowing] Added new window button
Currently overwrites metadata
similar to the FullScreenAction in order
to temporarily display the new window button
until the css is modified to do so. WTD-16
2015-06-22 13:12:13 -07:00
273ce42c16 [Frontend] Fix to prevent infobubbles from preventing clicks
Added CSS class "bubble-container" to BUBBLE_TEMPLATE;
bubble-container utilizes CSS "pointer-events: none";
Changed INFO_HOVER_DELAY constant from 500ms to 2000ms;
2015-06-22 12:53:53 -07:00
0feb3b0462 Merge branch 'open18' of https://github.com/slhale/openmctweb into open18 2015-06-22 12:37:15 -07:00
7493f76d06 Merge branch 'open-master' into open1313 2015-06-22 10:11:00 -07:00
7f7759f72c Merge branch 'open-master' into open1223 2015-06-20 15:36:21 -07:00
8199d1d9d9 [Plot] Use mct-drag from plot
Use mct-drag from plot such that we are able to handle
mouse events which leave the plot area for marquee zoom
and pan. WTD-1273.
2015-06-20 11:47:10 -07:00
bc7342b127 [Plot] Make plot fixed duration a global default
WTD-1273.
2015-06-20 11:30:20 -07:00
f3cbcf0abe [Plot] Update ticks during pan
WTD-1273.
2015-06-20 11:21:55 -07:00
53f712b506 [Plot] Pan with alt-key
While alt is held, treat drag gestures in a plot area
as a pan, WTD-1273.
2015-06-20 11:19:56 -07:00
215d3ffd72 [Plot] Tweak fixed-duration code
Tweak fixed-duration code such that data is not
lost; WTD-1273.
2015-06-20 10:39:35 -07:00
fbf682d5fa [Plot] Support fixed duration
Support a fixed duration for plots, WTD-1273.
2015-06-20 10:28:49 -07:00
5ca954deaf [Plot] Test fallback on webglcontextlost
Add test case to verify that fallback occurs when a
WebGL context is lost, WTD-475.
2015-06-19 16:14:49 -07:00
a82fea2166 Merge pull request #5 from nasa/open1202
[Plot] Improve plotting performance
2015-06-19 16:05:18 -07:00
6b0a77d131 Merge pull request #8 from nasa/open1149
[Addressability] Use/populate URL
2015-06-19 16:05:10 -07:00
149ac44e8c Merge pull request #13 from nasa/open12
[Execution] Add worker service
2015-06-19 16:05:02 -07:00
b6fdf4d6ab [Plot] Fall back from WebGL on context loss
When a WebGL context is loss, fall back to displaying
plots using regular canvas 2d API. WTD-475.
2015-06-19 16:02:52 -07:00
dac44623ee [Plot] Begin adding WebGL fallback
Begin adding code to handle case where WebGL context
is lost, WTD-475.
2015-06-19 15:47:22 -07:00
737cf2b75b Merge pull request #7 from nasa/open1272
[Forms] Change format for date-time
2015-06-19 15:47:10 -07:00
ae7dae011b [Dev/Frontend] New example event generator and event view
WTD-1304
github open18
New example generator;
New temporary view: features/events;
Updated scss and css;
2015-06-19 15:29:06 -07:00
4bc41e8aab Merge remote-tracking branch 'nasa/open1223' into open1223
Conflicts:
	platform/features/plot/res/templates/plot.html
2015-06-19 14:50:00 -07:00
71ca9803c2 [Core] Obey priority for capabilities
Obey priority for capabilities to allow this to be overridden
for other domain object types, WTD-1223.
2015-06-19 14:40:59 -07:00
6a35476872 Merge branch 'open1149' of https://github.com/nasa/openmctweb into open1149 2015-06-19 13:55:23 -07:00
3b62add011 Merge branch 'open-master' into open1223
Conflicts:
	platform/features/plot/res/templates/plot.html
2015-06-19 13:34:21 -07:00
67d1201214 Merge branch 'open-master' into open1272
Merge in latest from master branch into topic branch
for WTD-1272

Conflicts:
	platform/forms/test/controllers/DateTimeControllerSpec.js
2015-06-19 13:16:33 -07:00
b879de1a33 Merge branch 'open-master' into open1182 2015-06-19 12:22:05 -07:00
dbd7a65a7a Merge remote-tracking branch 'nasa/open1295' into open-master 2015-06-18 18:33:09 -07:00
8d80a2aee1 Merge branch 'open-master' into open1182 2015-06-18 18:23:19 -07:00
00229f01b1 [Plot] Test plot view policy
Test plot view policy, added in conjunction with image
telemetry; WTD-1170.
2015-06-18 17:11:11 -07:00
85e3101d08 [Plot] Expose plot view policy
Expose policy which suppresses image telemetry (and other
non-numeric telemetry) in plots. WTD-1170.
2015-06-18 17:00:20 -07:00
983a9a2f07 Merge remote-tracking branch 'nasa/open1170' into open1170 2015-06-18 16:58:44 -07:00
66b143c9d7 [Plot] Suppress plot for non-numeric telemetry
Avoids plot views becoming erroneously available for image
telemetry, WTD-1170.
2015-06-18 16:58:29 -07:00
51bd205502 [Imagery] Be flexible about format
Accept either image or imageUrl as format for image telemetry,
WTD-1170.
2015-06-18 16:53:52 -07:00
3512018e90 Merge pull request #15 from shivamndave/issue11
Addresses #11
2015-06-18 15:58:24 -07:00
0292f046da [Browse Composition] Removed Window Alert
Removed commented out code that
alerts the user if they cannot
perform a drag and drop. Inserted a
comment marking where an alert can be placed
Issue 11.
2015-06-18 15:23:51 -07:00
0201a4bcf8 [Frontend] Fix to prevent infobubbles from preventing clicks
GitHub-12
Added CSS class "bubble-container" to BUBBLE_TEMPLATE;
bubble-container utilizes CSS "pointer-events: none";
Changed INFO_HOVER_DELAY constant from 500ms to 2000ms;
2015-06-18 15:18:42 -07:00
056c087953 [Representation] Add missing argument to spec
Add missing argument to spec for mct-representation, WTD-1256.
2015-06-18 15:09:17 -07:00
dab6d96688 [Browse composition] Not Alerting User
In this case the user is not alerted. This
is to test the maven build. Issue 11.
2015-06-18 15:08:13 -07:00
1f3c1da8c7 [Browse composition] Alert user
When the user attempts a disallowed drag and drop composition,
the browser will alert them to this. Issue 11.
2015-06-18 14:53:35 -07:00
275ca01692 [Representation] Trust template URLs
Trust resource URLs to skip SCE-checking (which profiling
flags as a performance problem) for mct-include and
mct-representation; these URLs are pulled from bundles and
not user-entered, so should be trusted. WTD-1256.
2015-06-18 14:43:14 -07:00
451842fb82 [Browse composition] Cleanup
Removed commented out code in tests. Issue 11.
2015-06-18 14:29:46 -07:00
9e52ddaee7 [Browse composition] Added and modified tests
Added additional tests to account for the different cases of
edit mode and folder vs non folder. Issue 11.
2015-06-18 14:26:54 -07:00
eb2cddc063 [Workers] Satisfy JSLint
Modify example worker script to satisfy JSLint. #12.
2015-06-18 11:30:47 -07:00
640a399278 [Workers] Add example worker
Add an example worker which inefficiently calculates
fibonacci numbers outside of the UI thread, for #12.
2015-06-18 11:21:00 -07:00
7d911a3fe0 [Workers] Add worker service
Add service for running WebWorkers, #12.
2015-06-18 10:59:10 -07:00
a8488a92d9 [Gestures] Browse/Edit Composition
Disallows drag and drop during browse mode,
unless dragging and dropping into a folder
view. Allows drag and drop into a layout view
only in edit mode also. Can be unit tested now.
WTD-11.
2015-06-18 10:54:51 -07:00
ab81c9070e [Frontend] Remove static-markup file
WTD-1170
2015-06-18 10:09:17 -07:00
69f4b4975e Merge branch 'open-master' into open1170b
Conflicts:
	platform/commonUI/general/res/sass/plots.scss
	platform/commonUI/inspect/src/InfoConstants.js
	platform/features/imagery/src/policies/ImageryViewPolicy.js
	platform/features/static-markup/res/markup.html
2015-06-18 09:55:26 -07:00
0949ada734 [Frontend] Manual update of platform css, fonts and sass only from open-master
WTD-1170
2015-06-18 09:46:54 -07:00
897433f717 [Imagery] Test ImageryController
WTD-1170.
2015-06-17 21:15:17 -07:00
ba88281bd0 [Imagery] Test mct-background-image
WTD-1170.
2015-06-17 20:51:41 -07:00
c41db4f22b [Imagery] Test policy
Test policy which restricts the Imagery view to domain objects which
have image telemetry. WTD-1170.
2015-06-17 20:41:40 -07:00
8aa25a929a [Imagery] Add skeleton specs
Add skeleton specs for the Imagery view of telemetry,
WTD-1170.
2015-06-17 20:35:17 -07:00
2690a8b8e2 [Imagery] Add JSDoc
Add JSDoc to classes implementing the Imagery view, WTD-1170.
2015-06-17 20:31:47 -07:00
12954f8fc3 [Imagery] Add open-in-new-tab button
Add button to open current telemetry image in a new tab,
WTD-1282 (in the context of WTD-1170.)
2015-06-17 20:21:53 -07:00
5a4a912f79 [Imagery] Only display images when loaded
Wait until image telemetry is completely loaded before
displaying it, WTD-1170.
2015-06-17 20:12:04 -07:00
dc85d3c191 Merge pull request #4 from nasa/open884
[Info Bubble] Add info bubble
2015-06-17 11:47:34 -07:00
2677dcd10c Merge branch 'open-master' into open1295
Conflicts:
	platform/commonUI/general/res/css/theme-espresso.css
	platform/commonUI/general/res/sass/_main.scss
2015-06-17 11:00:53 -07:00
0ae1ba4a40 [Edit] Don't wrap non-editable objects
In Edit mode, don't bother wrapping domain objects which should
not be edited even in principle. Avoids insulating these objects
from updates which occur asynchronously, which in turn avoids
WTD-1291.
2015-06-17 10:23:16 -07:00
ee69eb3a01 [Addressability] Fix code style
Change code style to satisfy JSLint for changes from WTD-1149.
2015-06-16 16:10:31 -07:00
5849f8afe2 [Addressability] Add spec for BrowseObjectController
Add spec for BrowseObjectController, added to track current
view selection from/to query string params, WTD-1149.
2015-06-16 16:09:22 -07:00
c1c633db80 [Addressability] Add test cases
Add test cases to BrowseController which reflect changes for
addressability, WTD-1149.
2015-06-16 15:57:08 -07:00
bcb4e9c495 [Addressability] Remove excessive check
Remove unneeded check from ViewSwitcherController; not necessary
to avoid overwriting query string selection of view. WTD-1149.
2015-06-16 15:40:19 -07:00
699cd3bd90 [Addressability] Update spec for BrowseController
Update spec to reflect changes for BrowseController to support
addressability of domain objects, WTD-1149.
2015-06-16 15:35:40 -07:00
9942e24039 [Addressability] Work around reload again
Work around Angular's page refresh on URL change to avoid
unintended effects when chosen view changes (such as tree
collapse), WTD-1149.
2015-06-16 15:23:55 -07:00
d559dae1e2 [Addressability] Expose current view in query param
Expose the currently selected view as a query string parameter,
WTD-1149.
2015-06-16 15:09:42 -07:00
fec6f06849 [Addressability] Obey view query string param
Obey the query string parameter for a view, if present.
WTD-1149.
2015-06-16 14:58:03 -07:00
26fd56a003 [Addressability] Handle bad paths
Handle paths that cannot be completely followed, WTD-1149.
2015-06-16 14:35:15 -07:00
d7b79b6b69 [Addressability] Preserve nav. state on leaving Edit
Preserve navigation state when leaving Edit mode, in the context
of addressability changes. WTD-1149.
2015-06-16 14:29:22 -07:00
c428df524c Merging in open1248, resolve conflicts 2015-06-16 14:07:53 -07:00
4887ba0e58 Merge in open-master, resolve conflicts 2015-06-16 13:53:00 -07:00
3738ea16d7 [Addressability] Update route without reinstantiating
Work around normal behavior of Angular when path changes;
instead of reinstantiating controller for Browse mode
when Browse-initiated path changes occur, act as if the
route hadn't changed (so that the URL updates but the
currently-displayed state, e.g. tree expansion, is
preserved.) WTD-1149.
2015-06-16 13:44:35 -07:00
084d6b6859 [Addressability] Update path on navigation
Update path in browse mode when navigation state changes.
WTD-1149.
2015-06-16 13:28:19 -07:00
9fae2db04a [Addressability] Infer ROOT
Treat the path element for the root domain object as implicit, such
that it does not appear in the full URL. WTD-1149.
2015-06-16 13:16:55 -07:00
8f18d88705 [Addressability] Navigate down path from params
Traverse down the path from route parameters to initially navigate to a
domain object in Browse mode. WTD-1149.
2015-06-16 13:14:12 -07:00
f24db1561e [Addressability] Get IDs from URL
Add a route parameter to Browse mode which includes domain
object identifiers. WTD-1149.
2015-06-16 13:00:03 -07:00
70e1a8ad9e [Frontend] Mods to layout element drag handles and editing behavior
WTD-951
layout.html:
Added classes to and removed inline styles from drag handles,
Removed edge handles, leaving corner handles in NW, SW and SE only;
Added hover classes to display corner handles while editing;
Modified z-indexing to allow view switcher to be accessed while editing;
2015-06-16 12:40:48 -07:00
a984e60ca5 [Frontend] Mods to layout element editing handles
WTD-951
In-progress checkin
2015-06-16 10:48:31 -07:00
d614d7ee86 [Frontend] Very minor tweaks to bring open into parity with lastest scss from ue-frontend
WTD-1292
Tweaks prior to rebuild of ue-frontend branch;
2015-06-15 17:43:52 -07:00
9051a7114c [Plot] Remove OOB glow
Remove glow for out-of-bounds data from plot; WTD-1255,
in the context of work in progress on WTD-1223.
2015-06-15 17:37:31 -07:00
f6eb9904ff Merge remote-tracking branch 'nasa/open839' into open839 2015-06-15 16:48:33 -07:00
d03cab21b2 Merge remote-tracking branch 'nasa/open949' into open839 2015-06-15 16:47:58 -07:00
d8a66b426f [Merge] Merging open-master in; resolved conflicts 2015-06-15 16:47:23 -07:00
043a2ed581 Merging in open-master 2015-06-15 16:38:20 -07:00
db0cd9cf3a [Clocks/Timers] Merge in latest CSS
Merge in latest CSS from WARP-specific branch, WTD-1220.
2015-06-15 16:15:26 -07:00
6e7203a49f [Merge] Cherrypick 2 from warp1220
WTD-1220
2015-06-15 15:45:40 -07:00
5193c62233 [Merge] Cherrypick 1 from warp1220
WTD-1220
2015-06-15 15:44:09 -07:00
b131e8348f [Version] Add snapshot status
Restore snapshot status to version number to begin sprint
Thebe, WTD-822.
2015-06-15 13:20:16 -07:00
cad64b28fd [Version] Remove snapshot status
Remove snapshot status to close out sprint Tethys,
WTD-822.
2015-06-15 13:15:33 -07:00
6aff6d8d2b [Forms] Update spec for date-time control
WTD-1272.
2015-06-15 13:05:37 -07:00
05a114cc75 [Forms] Use MM-DD in date-time control
Use month and day instead of day-of-year in date-time
control, WTD-1272.
2015-06-15 13:01:43 -07:00
7c7b79e151 [Config] Changed priority from mandatory to preferred
WTD-949
2015-06-12 19:00:55 -07:00
c6c4fa7182 [Fronted] Fixes for misaligned bubbles
WTD-1247
WTD-884
Changed CSS .l-infobubble-wrapper abs > relative;
Added display: block class for mct-container;
Tweaked bubble evaluation JS for 'goLeft' behavior;
Added constants for bubble max width and left/right margin;
2015-06-12 16:24:25 -07:00
0b46050e04 [Fronted] Tweaks to bubbles and context menus scss
WTD-1248
WTD-884
Changed z-index of context menus and bubbles to put the menus above;
Changed text wrapping of 'value' td to no-wrap;
Changed min and max-width of .l-infobubble;
2015-06-12 15:46:31 -07:00
39531a0a9f [Fronted] Minor final sanding and polishing
WTD-839
.t-view-switcher > .view-switcher;
Added CSS transition to hide/show of view-switcher;
Moved .view-switcher hide/show to _frame.scss;
Tweaked .frame:hover to raise z-index to show complete border;
2015-06-12 14:17:19 -07:00
0cb439df19 [Imagery] Add imagery to active bundles
WTD-1170.
2015-06-12 12:11:47 -07:00
8f153d4e75 [Fronted] Significant refactoring of mixins for containers and buttons
WTD-839
Removal of 'icon-btn' class from *.html;
Cleanup of markup in switcher.html;
'name' span is now hidden when switcher is within frame;
Commented out unused css classes in _controls.scss,
Normalization of markup in object header when in main view and framed objects;
Icon sizing fixed in menus and switcher control;
Tightened up spacing in menus;
2015-06-12 11:44:09 -07:00
af0c2e7827 [Fronted] Significant refactoring of mixins for containers and buttons
WTD-839
Refactoring in advance of style mods to switcher when in frame;
Cleanup of markup to remove 'icon' class from invoke-menu elements;
2015-06-12 10:00:51 -07:00
e70ceb12d7 [Imagery] Begin adding mct-image
Begin adding directive to preload images before displaying
them, to avoid flashing of imagery as it arrives. WTD-1170.
2015-06-11 14:12:36 -07:00
0b8d5ceb86 [Fronted] Significant refactoring of btn classes
WTD-839
Refactoring in advance of style mods to switcher when in frame;
Moved btn styles from _controls.scss to _buttons.scss;
Markup cleaned up with css classing simplified;
2015-06-10 17:23:08 -07:00
60296b5323 [Core] Add newlines
Add newlines to scripts added to core for WTD-1202.
2015-06-10 17:05:28 -07:00
500d88b5a1 [Plot] Update spec
Update spec for PlotController to account for usage of the
throttle service, WTD-1202.
2015-06-10 17:02:16 -07:00
35b5fbefd0 [Plot] Throttle updates
Throttle plot updates to subplots; WTD-1202.
2015-06-10 16:54:01 -07:00
e06d11dcb2 [Core] Add throttle service
Add service for throttling function calls; specifically supports
reducing tick mark recalculation, WTD-1202.
2015-06-10 16:53:43 -07:00
d1a09c0180 [Telemetry] Remove linear search
Remove linear search for unused positions when queuing telemetry
updates; instead, track available positions such that insertion
is more performant at a modest cost (bound to the number of subscriptions)
of retrieval. Additionally, add implementation notes in-line.
WTD-1202.
2015-06-10 16:53:35 -07:00
732c0abf10 [Info Bubble] Add newlines
Add newlines to end of files added for WTD-884.
2015-06-10 16:40:22 -07:00
5219105887 [Config] Modified priority to make plot the default view
WTD-949
Plot is now the default view when browsing objects,
or in-frame in Display Layouts;
2015-06-10 15:31:37 -07:00
bd66c0138b [Merge] Bringing in latest ue-frontend 2015-06-10 15:20:38 -07:00
fd63aa30ea [Forms] Add test for date-time controller
Add test case to complete coverage of date-time controller;
done in the context of WTD-884 (albeit unrelated) to improve
code coverage.
2015-06-10 14:31:34 -07:00
d7e43026cd [Merge] Merge in open-master, resolve conflicts in _constants.scss 2015-06-10 14:04:48 -07:00
b9ea876101 [Imagery] Allow pausing imagery
WTD-1170.
2015-06-09 16:56:47 -07:00
1795dc5549 Merging in /platform specific changes from warp1220 2015-06-09 16:44:18 -07:00
ee542293b9 [Imagery] Display image updates
WTD-1170.
2015-06-09 16:31:51 -07:00
277533b4bf [Imagery] Begin adding controller
Begin adding controller for Imagery view, WTD-1170.
2015-06-09 16:07:17 -07:00
627fa267f4 [Imagery] Add imagery view bundle
Add a bundle which contains view for image telemetry.
Template is a placeholder; view is restricted by policy
to telemetry-providing domain objects which actually have
image telemetry. WTD-1170.
2015-06-09 15:40:42 -07:00
4320d9be95 [Imagery] Add example imagery
Add a telemetry source for example imagery to support development
of a view for image telemetry, WTD-1170.
2015-06-09 15:29:07 -07:00
bc6b3f8902 Merge branch 'open-master' into open1170 2015-06-09 11:41:44 -07:00
40f36541fa [Core] Add missing models
When requested models are missing, add models of an explicitly
unknown type to allow this to be expressed to the user.
WTD-1241.
2015-06-09 10:31:17 -07:00
de3c6e4543 [Fixed Position] Show limits in fixed position
Show limits in fixed position view, WTD-1223.
2015-06-09 10:18:28 -07:00
51852e1322 [Limits] Use datum for limits in scrolling list view
Utilize 'datum' API when displaying limits in a scrolling list
view, WTD-1223.
2015-06-09 10:07:00 -07:00
7a93b7d77a Pulled in final sanding on bubbles.scss from open1222 2015-06-09 09:32:28 -07:00
781a1a4be5 [Limits] Add metadata to SWGs
Add telemetry metadata to Sine Wave Generators to support
utilizing telemetry in a 'datum' format, to match designed
API for WTD-1223.
2015-06-09 09:31:22 -07:00
277b8e74b6 [Frontend] Final sanding on bubbles.scss
WTD-1222
2015-06-09 09:28:59 -07:00
cec115976c Merged latest from open-master and open1222 platform/ 2015-06-08 16:00:24 -07:00
35b5b29d03 [Limits] Use datum for scrolling list
Use notion of a datum from scrolling list view when
evaluating limits, WTD-1223.
2015-06-08 15:34:17 -07:00
2a4bf7b95a [Limits] Use datum for plots
Use datum for limits in a plot, WTD-1223.
2015-06-08 15:33:41 -07:00
ea3be6db49 [Limits] Use datum for sinewave limits
Use forward-looking notion of a datum for sine wave
generator limits, WTD-1223.
2015-06-08 15:32:24 -07:00
4544167b50 [Telemetry] Provide latest telemetry datum
Provide latest telemetry as a datum to begin transitioning
toward revised telemetry API, particularly as used from limits;
WTD-1223.
2015-06-08 15:26:02 -07:00
1587e66d9e [Frontend] Added local zoom/reset controls
WTD-1222
Refactored scss in plots-main slightly;
Removed unused sass/plots.scss;
2015-06-08 15:24:17 -07:00
5aad1b4e30 [Frontend] Removing unused firs-order scss file 2015-06-08 15:08:43 -07:00
03252aac1b [Frontend] Ported over all /platform changes from warp1222
WTD-1222
2015-06-08 13:50:54 -07:00
b18159b8e1 Merging in latest from ue-frontend 2015-06-08 13:45:31 -07:00
4ab36bd421 [Limits] Show limits from scrolling list view
WTD-1223.
2015-06-08 11:57:05 -07:00
9f90c6b8d8 [Frontend] Updated CSS; removed position: relative
WTD-884
2015-06-08 11:14:58 -07:00
f4adc6a889 Merge branch 'open-master' into open1223
Merge in latest from master branch into topic branch for
limits, WTD-1223.

Conflicts:
	platform/commonUI/general/res/css/forms.css
	platform/commonUI/general/res/css/plots.css
	platform/commonUI/general/res/css/theme-espresso.css
	platform/commonUI/general/res/css/tree.css
	platform/commonUI/general/res/sass/_fixed-position.scss
	platform/commonUI/general/res/sass/plots/_plots-main.scss
	platform/features/scrolling/res/templates/scrolling.html
2015-06-08 10:23:36 -07:00
88f938b1b6 [Limits] Begin using limits from scrolling list view
WTD-1223.
2015-06-05 17:59:58 -07:00
dc6c43a4cd [Limits] Display limit state in legend of plot
WTD-1223.
2015-06-05 17:15:02 -07:00
e216961727 Pulling in all sass, css, etc. and static-markup work from warp1222 so far 2015-06-05 16:48:58 -07:00
f314e46abc [Limits] Add example limit capability
WTD-1223.
2015-06-05 16:48:09 -07:00
9a3ccc3295 [Limits] Merge in latest from platform
Merge in latest changes to platform to begin implementing
limits, WTD-1223.
2015-06-05 16:28:29 -07:00
d2a75c4338 [Info Bubble] Add test cases for gesture
Add test cases for the info gesture, WTD-884.
2015-06-05 06:31:23 -07:00
1567c32993 [Info Bubble] Add license headers
Add license headers to scripts for info bubbles, WTD-884.
2015-06-04 16:41:34 -07:00
21c066e10f [Info Bubble] Add test cases for infoService
WTD-884.
2015-06-04 16:38:55 -07:00
640b39e3a0 [Info Bubble] Begin adding tests
Begin adding tests for info bubble, WTD-884.
2015-06-04 16:27:41 -07:00
90ba93e396 [Info Bubble] Test metadata capability
Test metadata capability, introduced to support info bubbles
for domain objects, WTD-884.
2015-06-04 14:16:23 -07:00
87e80e763c [Info Bubble] Include in set of active bundles
Include the info bubble in the set of active bundles, WTD-884.
2015-06-04 12:35:42 -07:00
cae8372d34 [Info Bubble] Include type in common metadata
Include type in common domain object metadata to display
in an info bubble, WTD-884.
2015-06-04 12:34:56 -07:00
c9e33b1d31 [Info Bubble] Change moment import
Change the path used to import moment for the telemetryFormatter.
Previously, a relative path was used; since telemetryFormatter was
initially implemented, however, moment has been made available as
simply moment by require configuration changes elsewhere. Inconsistent
usage of moment here can result in load timeouts under certain
script load orderings. Changed in the context of WTD-884 (which does
use moment elsewhere.)
2015-06-04 12:32:37 -07:00
11dc5f380c [Info Bubble] Use domain object metadata
Use domain object metadata to populate the info bubble from
the info gesture, WTD-884.
2015-06-04 12:30:18 -07:00
6622ca7031 [Info Bubble] Add common properties to metadata
Expose common properties (like time updated) from the metadata
capability, to appear in the Info bubble. WTD-884.
2015-06-04 12:26:57 -07:00
cd26d1284e [Info Bubble] Add metadata capability
Add metadata capability, which will be used to populate
contents of an info bubble. WTD-884.
2015-06-04 12:09:50 -07:00
588c35de4e Merge branch 'open-master' into open884
Merge latest from master branch into topic branch for WTD-884
2015-06-04 10:39:25 -07:00
6fe6aacc38 Added open source comment 2015-06-03 10:25:37 -07:00
b022babedb Adding static-markup bundle. 2015-06-03 10:23:49 -07:00
a18a7c9960 [Layout] Fix comment
Change inaccurate comment based on feedback from code
review for WTD-1182.
2015-06-03 07:49:11 -07:00
219a6086d8 [Info Bubble] Remove placeholder type/view
Remove Info Bubble as a type and view, which had been present
for purposes of example during development. WTD-884.
2015-05-22 13:27:04 -07:00
69dce9f88d [Info Bubble] Add clarifying comments
Add clarifying comments for the info gesture, WTD-884.
2015-05-22 13:25:39 -07:00
d9a2a7f4c3 [Info Bubble] Refine positioning, add comments
Refine positioning to behave correctly when mouse is on
right and/or lower part of screen; listen for scope
destruction to avoid cases where an element is removed
before mouseleave is ever called. WTD-884.
2015-05-22 13:22:26 -07:00
eafaa04c06 [Info Bubble] Add info gestures
Add info gestures to labels and grid items, WTD-884.
2015-05-22 12:51:42 -07:00
ab6a5afe93 [Info Bubble] Tweak positioning
Tweak positioning of info bubbles, WTD-884.
2015-05-22 12:50:09 -07:00
35f4032ae8 [Info Bubble] Fix display issues
Intermediary commit; fix some display issues with info bubbles,
add some delay. WTD-884.
2015-05-22 12:28:58 -07:00
05a78f70e3 [Info Bubble] Begin adding info gesture
Begin adding info gesture, which will attach info bubbles
to representations of domain objects. WTD-884.
2015-05-22 12:03:58 -07:00
179b0b46e5 [Info Bubble] Add info service
Add service for showing informational bubbles, WTD-884.
2015-05-22 11:49:02 -07:00
ac8fbb289e [Info Bubble] Continue breaking down templates
WTD-884.
2015-05-21 21:25:50 -07:00
cde173dbdc [Representation] Add test for scope clearing
Add test clearing to verify that scope gets cleared
on view changes, WTD-1182.
2015-05-20 16:39:49 -07:00
9b6d8cf1ec [Representation] Minimize scope reuse
When switching among domain objects and/or views, avoid
reusing the same information is scope. The wrong information
in scope can cause various failures in views, such as WTD-1182.
2015-05-20 16:26:53 -07:00
f74199e60f [Layout] Add check to view in frame
Add check to template for views in frame to avoid populating
frame prematurely; WTD-1182.
2015-05-20 14:02:56 -07:00
c7b13b70d1 [Inspection] Begin decomposing bubble template
WTD-884.
2015-05-11 10:02:37 -07:00
58bd4240f1 [Frontend] Merging warp1172 platform changes in
WTD-1172
(cherry picked from commit 219ffb4d59d4cc4a0172ba351af0e2b5d672d4b2)

Conflicts:
	platform/commonUI/general/res/css/theme-espresso.css
	platform/commonUI/general/res/sass/_fixed-position.scss
	warp/telemetry/src/autoflow/AutoflowTableLinker.js

Manually deleted AutoflowTableLinker.js
2015-05-07 13:10:04 -07:00
2d13745823 [Frontend] Added CSS and markup for stale; cleanup
WTD-1172
Added stale CSS in _data-status.scss;
Added pulse animation in _effects.scss, not used;
Removed temp-limits directory and files;
Sanding and refining of limits styles and in .tabular;
2015-05-06 19:30:36 -07:00
db74e2f84a [Frontend] CSS hooks for staleness
WTD-1172
New .scss file for staleness
Added CSS hooks in templates for staleness
2015-05-06 17:36:55 -07:00
a244502f16 [Frontend] Adding missed CSS files
WTD-1172
2015-05-06 16:57:04 -07:00
f114f742c4 [Frontend] Tweaks to markup and CSS
WTD-1172
scrolling.html markup and CSS hooks;
added comments to change points;
CSS tweaking;
2015-05-06 16:55:25 -07:00
c8d06cb32a [Frontend] Limits added to fixed position view
WTD-1172
2015-05-06 11:20:09 -07:00
4b774f7b12 [Frontend] Clean up
WTD-1172
Moved HTML limits markup out of plot.html and into temp-limits/.../examples.html
2015-05-06 10:34:16 -07:00
39c8f0ab00 [Frontend] Plot limits and out-of-bounds indicators
WTD-1172
Markup and CSS for plots;
Example ng-class added to plot.html for legend items;
Markup added to plot.html for OOB indicators;
2015-05-06 10:21:29 -07:00
d75c873831 Merge branch 'open1172' of https://trunk.arc.nasa.gov/git/wtd into open1172 2015-05-06 10:10:55 -07:00
fbaa0ff1e0 [Frontend] In-progress markup and CSS for limits
WTD-1172
Plot limits so far
2015-05-04 16:50:11 -07:00
d21e320ec2 [Frontend] New version of symbols
WTD-1172
New version of symbols font with glyphs for limits display
2015-05-04 13:24:41 -07:00
1011 changed files with 122212 additions and 26621 deletions

12
.gitignore vendored
View File

@ -3,8 +3,13 @@
*.gzip
*.tgz
*.DS_Store
*.idea
*.sass-cache
*COMPILE.css
# Intellij project configuration files
*.idea
*.iml
# External dependencies
@ -20,3 +25,8 @@ closed-lib
# Node dependencies
node_modules
# Protractor logs
protractor/logs
# npm-debug log
npm-debug.log

301
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,301 @@
# Contributing to Open MCT Web
This document describes the process of contributing to Open MCT Web as well
as the standards that will be applied when evaluating contributions.
Please be aware that additional agreements will be necessary before we can
accept changes from external contributors.
## Summary
The short version:
1. Write your contribution.
2. Make sure your contribution meets code, test, and commit message
standards as described below.
3. Submit a pull request from a topic branch back to `master`. Include a check
list, as described below. (Optionally, assign this to a specific member
for review.)
4. Respond to any discussion. When the reviewer decides it's ready, they
will merge back `master` and fill out their own check list.
## Contribution Process
Open MCT Web uses git for software version control, and for branching and
merging. The central repository is at
https://github.com/nasa/openmctweb.git.
### Roles
References to roles are made throughout this document. These are not intended
to reflect titles or long-term job assignments; rather, these are used as
descriptors to refer to members of the development team performing tasks in
the check-in process. These roles are:
* _Author_: The individual who has made changes to files in the software
repository, and wishes to check these in.
* _Reviewer_: The individual who reviews changes to files before they are
checked in.
* _Integrator_: The individual who performs the task of merging these files.
Usually the reviewer.
### Branching
Three basic types of branches may be included in the above repository:
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
refactoring of code or implementation of complex features which may cause
instability. In these exceptional cases it is the responsibility of the
developer who initiates the task which motivated this branching to
communicate to the team the role of these branches and any associated
procedures for the duration of their use.
#### Master Branch
The role of the `master` branches is to represent the latest
"ready for test" version of the software. Source code on the master
branch has undergone peer review, and will undergo regular automated
testing with notification on failure. Master branches may be unstable
(particularly for recent features), but the intent is for the stability of
any features on master branches to be non-decreasing. It is the shared
responsibility of authors, reviewers, and integrators to ensure this.
#### Topic Branches
Topic branches are used by developers to perform and record work on issues.
Topic branches need not necessarily be stable, even when pushed to the
central repository; in fact, the practice of making incremental commits
while working on an issue and pushing these to the central repository is
encouraged, to avoid lost work and to share work-in-progress. (Small commits
also help isolate changes, which can help in identifying which change
introduced a defect, particularly when that defect went unnoticed for some
time, e.g. using `git bisect`.)
Topic branches should be named according to their corresponding issue
identifiers, all lower case, without hyphens. (e.g. branch mct9 would refer
to issue #9.)
In some cases, work on an issue may warrant the use of multiple divergent
branches; for instance, when a developer wants to try more than one solution
and compare them, or when a "dead end" is reached and an initial approach to
resolving an issue needs to be abandoned. In these cases, a short suffix
should be added to the additional branches; this may be simply a single
character (e.g. wtd481b) or, where useful, a descriptive term for what
distinguishes the branches (e.g. wtd481verbose). It is the responsibility of
the author to communicate which branch is intended to be merged to both the
reviewer and the integrator.
#### Developer Branches
Developer branches are any branches used for purposes outside of the scope
of the above; e.g. to try things out, or maintain a "my latest stuff"
branch that is not delayed by the review and integration process. These
may be pushed to the central repository, and may follow any naming convention
desired so long as the owner of the branch is identifiable, and so long as
the name chosen could not be mistaken for a topic or master branch.
### Merging
When development is complete on an issue, the first step toward merging it
back into the master branch is to file a Pull Request. The contributions
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.)
Code review should take place using discussion features within the pull
request. When the reviewer is satisfied, they should add a comment to
the pull request containing the reviewer checklist (from below) and complete
the merge back to the master branch.
## Standards
Contributions to Open MCT Web are expected to meet the following standards.
In addition, reviewers should use general discretion before accepting
changes.
### Code Standards
JavaScript sources in Open MCT Web must satisfy JSLint under its default
settings. This is verified by the command line build.
#### Code Guidelines
JavaScript sources in Open MCT Web should:
* Use four spaces for indentation. Tabs should not be used.
* Include JSDoc for any exposed API (e.g. public methods, constructors.)
* Include non-JSDoc comments as-needed for explaining private variables,
methods, or algorithms when they are non-obvious.
* Define one public class per script, expressed as a constructor function
returned from an AMD-style module.
* Follow “Java-like” naming conventions. These includes:
* Classes should use camel case, first letter capitalized
(e.g. SomeClassName.)
* Methods, variables, fields, and function names should use camel case,
first letter lower-case (e.g. someVariableName.) Constants
(variables or fields which are meant to be declared and initialized
statically, and never changed) should use only capital letters, with
underscores between words (e.g. SOME_CONSTANT.)
* File name should be the name of the exported class, plus a .js extension
(e.g. SomeClassName.js)
* Avoid anonymous functions, except when functions are short (a few lines)
and/or their inclusion makes sense within the flow of the code
(e.g. as arguments to a forEach call.)
* Avoid deep nesting (especially of functions), except where necessary
(e.g. due to closure scope.)
* End with a single new-line character.
* Expose public methods by declaring them on the class's prototype.
* Within a given function's scope, do not mix declarations and imperative
code, and present these in the following order:
* First, variable declarations and initialization.
* Second, function declarations.
* Third, imperative statements.
* Finally, the returned value.
Deviations from Open MCT Web code style guidelines require two-party agreement,
typically from the author of the change and its reviewer.
#### Code Example
```js
/*global define*/
/**
* Bundles should declare themselves as namespaces in whichever source
* file is most like the "main point of entry" to the bundle.
* @namespace some/bundle
*/
define(
['./OtherClass'],
function (OtherClass) {
"use strict";
/**
* A summary of how to use this class goes here.
*
* @constructor
* @memberof some/bundle
*/
function ExampleClass() {
}
// Methods which are not intended for external use should
// not have JSDoc (or should be marked @private)
ExampleClass.prototype.privateMethod = function () {
};
/**
* A summary of this method goes here.
* @param {number} n a parameter
* @returns {number} a return value
*/
ExampleClass.prototype.publicMethod = function (n) {
return n * 2;
}
return ExampleClass;
}
);
```
### Test Standards
Automated testing shall occur whenever changes are merged into the main
development branch and must be confirmed alongside any pull request.
Automated tests are typically unit tests which exercise individual software
components. Tests are subject to code review along with the actual
implementation, to ensure that tests are applicable and useful.
Examples of useful tests:
* Tests which replicate bugs (or their root causes) to verify their
resolution.
* Tests which reflect details from software specifications.
* Tests which exercise edge or corner cases among inputs.
* Tests which verify expected interactions with other components in the
system.
During automated testing, code coverage metrics will be reported. Line
coverage must remain at or above 80%.
### Commit Message Standards
Commit messages should:
* Contain a one-line subject, followed by one line of white space,
followed by one or more descriptive paragraphs, each separated by one
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`)
* 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.
* This may be omitted if the relevant issue is otherwise obvious from the
commit history (that is, if using `git log` from the relevant commit
directly leads to a similar issue reference) to minimize clutter.
* Describe the change that was made, and any useful rationale therefore.
* Comments in code should explain what things do, commit messages describe
how they came to be done that way.
* Provide sufficient information for a reviewer to understand the changes
made and their relationship to previous code.
Commit messages should not:
* Exceed 54 characters in length on the subject line.
* 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)
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
these standards.
## Issue Reporting
Issues are tracked at https://github.com/nasa/openmctweb/issues
Issues should include:
* A short description of the issue encountered.
* A longer-form description of the issue encountered. When possible, steps to
reproduce the issue.
* When possible, a description of the impact of the issue. What use case does
it impede?
* An assessment of the severity of the issue.
Issue severity is categorized as follows (in ascending order):
* _Trivial_: Minimal impact on the usefulness and functionality of the
software; a "nice-to-have."
* _(Unspecified)_: Major loss of functionality or impairment of use.
* _Critical_: Large-scale loss of functionality or impairment of use,
such that remaining utility becomes marginal.
* _Blocker_: Harmful or otherwise unacceptable behavior. Must fix.
## Check Lists
The following check lists should be completed and attached to pull requests
when they are filed (author checklist) and when they are merged (reviewer
checklist.)
### Author Checklist
1. Changes address original issue?
2. Unit tests included and/or updated with changes?
3. Command line build passes?
4. Changes have been smoke-tested?
### Reviewer Checklist
1. Changes appear to address issue?
2. Appropriate unit tests included?
3. Code style and in-line documentation are appropriate?
4. Commit messages meet standards?

View File

@ -345,6 +345,41 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
---
### moment-duration-format
#### Info
* Link: https://github.com/jsmreese/moment-duration-format
* Version: 1.3.0
* Authors: John Madhavan-Reese
* Description: Duration parsing/formatting
#### License
Copyright 2014 John Madhavan-Reese
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---
### Json.NET
#### Info

1
Procfile Normal file
View File

@ -0,0 +1 @@
web: node app.js --port $PORT

View File

@ -43,36 +43,43 @@ that Open MCT Web (and its build and tests) execute correctly.
## Tests
The repository for Open MCT Web includes a test suite that can be run
directly from the web browser, `test.html`. This page will:
Tests are written for [Jasmine 1.3](http://jasmine.github.io/1.3/introduction.html)
and run by [Karma](http://karma-runner.github.io). To run:
* Load `bundles.json` to determine which bundles are in the application.
* Load `test/suite.json` to determine which source files are to be tested.
This should contain an array of strings, where each is the name of an
AMD module in the bundle's source directory. For each source file:
* Code coverage instrumentation will be added, via Blanket.
* The associated test file will be loaded, via RequireJS. These will
be located in the bundle's test folder; the test runner will presume
these follow a naming convention where each module to be tested has a
corresponding test module with the suffix `Spec` in that folder.
* Jasmine will then be invoked to run all tests defined in the loaded
test modules. Code coverage reporting will be displayed at the bottom
of the test page.
`npm test`
At present, the test runner presumes that bundle conventions are followed
as above; that is, sources are contained in `src`, and tests are contained
in `test`. Additionally, individual test files must use the `Spec` suffix
as described above.
The test suite is configured to load any scripts ending with `Spec.js` found
in the `src` hierarchy. Full configuration details are found in
`karma.conf.js`. By convention, unit test scripts should be located
alongside the units that they test; for example, `src/foo/Bar.js` would be
tested by `src/foo/BarSpec.js`. (For legacy reasons, some existing tests may
be located in separate `test` folders near the units they test, but the
naming convention is otherwise the same.)
An example of this is expressed in `platform/framework`, which follows
bundle conventions.
### Test Reporting
When `npm test` is run, test results will be written as HTML to
`target/tests`. Code coverage information is written to `target/coverage`.
### Functional Testing
The tests described above are all at the unit-level; an additional
test suite using [Protractor](https://angular.github.io/protractor/)
us under development, in the `protractor` folder.
To run:
* Install protractor following the instructions above.
* `cd protractor`
* `npm install`
* `npm run all`
## Build
Open MCT Web includes a Maven command line build. Although Open MCT Web
can be run as-is using the repository contents (that is, by viewing
`index.html` in a web browser), and its tests can be run in-place
similarly (that is, by viewing `test.html` in a browser), the command
`index.html` in a web browser), the command
line build allows machine-driven verification and packaging.
This build will:
@ -80,8 +87,7 @@ This build will:
* Check all sources (excluding those in directories named `lib`) with
JSLint for code style compliance. The build will fail if any sources
do not satisfy JSLint.
* Run unit tests. This is done by running `test.html` in a PhantomJS
browser-like environment. The build will fail if any tests fail.
* Run the [unit test suite](#tests).
* Package the application as a `war` (web archive) file. This is
convenient for deployment on Tomcat or similar. This archive will
include sources, resources, and libraries for bundles, as well
@ -90,6 +96,20 @@ This build will:
Run as `mvn clean install`.
### Building Documentation
Open MCT Web's documentation is generated by an
[npm](https://www.npmjs.com/)-based build. It has additional dependencies that
may not be available on every platform and thus is not covered in the standard
npm install. Ensure your system has [libcairo](http://cairographics.org/)
installed and then run the following commands:
* `npm install`
* `npm install canvas nomnoml`
* `npm run docs`
Documentation will be generated in `target/docs`.
# Glossary
Certain terms are used throughout Open MCT Web with consistent meanings

29
app.js
View File

@ -14,8 +14,7 @@
options = require('minimist')(process.argv.slice(2)),
express = require('express'),
app = express(),
fs = require('fs'),
bundles = JSON.parse(fs.readFileSync(BUNDLE_FILE, 'utf8'));
fs = require('fs');
// Defaults
options.port = options.port || options.p || 8080;
@ -40,17 +39,25 @@
process.exit(0);
}
// Handle command line inclusions/exclusions
bundles = bundles.concat(options.include);
bundles = bundles.filter(function (bundle) {
return options.exclude.indexOf(bundle) === -1;
});
bundles = bundles.filter(function (bundle, index) { // Uniquify
return bundles.indexOf(bundle) === index;
});
// Override bundles.json for HTTP requests
app.use('/' + BUNDLE_FILE, function (req, res) {
var bundles;
try {
bundles = JSON.parse(fs.readFileSync(BUNDLE_FILE, 'utf8'));
} catch (e) {
bundles = [];
}
// Handle command line inclusions/exclusions
bundles = bundles.concat(options.include);
bundles = bundles.filter(function (bundle) {
return options.exclude.indexOf(bundle) === -1;
});
bundles = bundles.filter(function (bundle, index) { // Uniquify
return bundles.indexOf(bundle) === index;
});
res.send(JSON.stringify(bundles));
});

62
build-docs.sh Executable file
View File

@ -0,0 +1,62 @@
#!/bin/bash
#*****************************************************************************
#* 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.
#*****************************************************************************
# Script to build and deploy docs to github pages.
OUTPUT_DIRECTORY="target/docs"
REPOSITORY_URL="git@github.com:nasa/openmctweb.git"
BUILD_SHA=`git rev-parse head`
# A remote will be created for the git repository we are pushing to.
# Don't worry, as this entire directory will get trashed inbetween builds.
REMOTE_NAME="documentation"
WEBSITE_BRANCH="gh-pages"
# Clean output directory, JSDOC will recreate
if [ -d $OUTPUT_DIRECTORY ]; then
rm -rf $OUTPUT_DIRECTORY || exit 1
fi
npm run docs
cd $OUTPUT_DIRECTORY || exit 1
echo "git init"
git init
# Configure github for CircleCI user.
git config user.email "buildbot@circleci.com"
git config user.name "BuildBot"
echo "git remote add $REMOTE_NAME $REPOSITORY_URL"
git remote add $REMOTE_NAME $REPOSITORY_URL
echo "git add ."
git add .
echo "git commit -m \"Generate docs from build $BUILD_SHA\""
git commit -m "Generate docs from build $BUILD_SHA"
echo "git push $REMOTE_NAME HEAD:$WEBSITE_BRANCH -f"
git push $REMOTE_NAME HEAD:$WEBSITE_BRANCH -f
echo "Documentation pushed to gh-pages branch."

View File

@ -1,23 +0,0 @@
[
"platform/framework",
"platform/core",
"platform/representation",
"platform/commonUI/about",
"platform/commonUI/browse",
"platform/commonUI/edit",
"platform/commonUI/dialog",
"platform/commonUI/general",
"platform/containment",
"platform/telemetry",
"platform/features/layout",
"platform/features/pages",
"platform/features/plot",
"platform/features/scrolling",
"platform/forms",
"platform/persistence/queue",
"platform/policy",
"platform/entanglement",
"example/persistence",
"example/generator"
]

15
circle.yml Normal file
View File

@ -0,0 +1,15 @@
deployment:
production:
branch: master
commands:
- npm install canvas nomnoml
- ./build-docs.sh
- git push git@heroku.com:openmctweb-demo.git $CIRCLE_SHA1:refs/heads/master
openmctweb-staging-un:
branch: nem_prototype
heroku:
appname: openmctweb-staging-un
openmctweb-staging-deux:
branch: mobile
heroku:
appname: openmctweb-staging-deux

9
docs/footer.html Normal file
View File

@ -0,0 +1,9 @@
<hr>
<cite>
This document is styled using
<a href="https://github.com/jasonm23/markdown-css-themes">
https://github.com/jasonm23/markdown-css-themes
</a>.
</cite>
</body>
</html>

209
docs/gendocs.js Normal file
View File

@ -0,0 +1,209 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global require,process,__dirname,GLOBAL*/
/*jslint nomen: false */
// Usage:
// node gendocs.js --in <source directory> --out <dest directory>
var CONSTANTS = {
DIAGRAM_WIDTH: 800,
DIAGRAM_HEIGHT: 500
},
TOC_HEAD = "# Table of Contents";
GLOBAL.window = GLOBAL.window || GLOBAL; // nomnoml expects window to be defined
(function () {
"use strict";
var fs = require("fs"),
mkdirp = require("mkdirp"),
path = require("path"),
glob = require("glob"),
marked = require("marked"),
split = require("split"),
stream = require("stream"),
nomnoml = require('nomnoml'),
toc = require("markdown-toc"),
Canvas = require('canvas'),
header = fs.readFileSync(path.resolve(__dirname, 'header.html')),
footer = fs.readFileSync(path.resolve(__dirname, 'footer.html')),
options = require("minimist")(process.argv.slice(2));
// Convert from nomnoml source to a target PNG file.
function renderNomnoml(source, target) {
var canvas =
new Canvas(CONSTANTS.DIAGRAM_WIDTH, CONSTANTS.DIAGRAM_HEIGHT);
nomnoml.draw(canvas, source, 1.0);
canvas.pngStream().pipe(fs.createWriteStream(target));
}
// Stream transform.
// Pulls out nomnoml diagrams from fenced code blocks and renders them
// as PNG files in the output directory, prefixed with a provided name.
// The fenced code blocks will be replaced with Markdown in the
// output of this stream.
function nomnomlifier(outputDirectory, prefix) {
var transform = new stream.Transform({ objectMode: true }),
isBuilding = false,
counter = 1,
outputPath,
source = "";
transform._transform = function (chunk, encoding, done) {
if (!isBuilding) {
if (chunk.trim().indexOf("```nomnoml") === 0) {
var outputFilename = prefix + '-' + counter + '.png';
outputPath = path.join(outputDirectory, outputFilename);
this.push([
"\n![Diagram ",
counter,
"](",
outputFilename,
")\n\n"
].join(""));
isBuilding = true;
source = "";
counter += 1;
} else {
// Otherwise, pass through
this.push(chunk + '\n');
}
} else {
if (chunk.trim() === "```") {
// End nomnoml
renderNomnoml(source, outputPath);
isBuilding = false;
} else {
source += chunk + '\n';
}
}
done();
};
return transform;
}
// Convert from Github-flavored Markdown to HTML
function gfmifier(renderTOC) {
var transform = new stream.Transform({ objectMode: true }),
markdown = "";
transform._transform = function (chunk, encoding, done) {
markdown += chunk;
done();
};
transform._flush = function (done) {
if (renderTOC){
// Prepend table of contents
markdown =
[ TOC_HEAD, toc(markdown).content, "", markdown ].join("\n");
}
this.push(header);
this.push(marked(markdown));
this.push(footer);
done();
};
return transform;
}
// Custom renderer for marked; converts relative links from md to html,
// and makes headings linkable.
function CustomRenderer() {
var renderer = new marked.Renderer(),
customRenderer = Object.create(renderer);
customRenderer.heading = function (text, level) {
var escapedText = (text || "").trim().toLowerCase().replace(/\W/g, "-"),
aOpen = "<a name=\"" + escapedText + "\" href=\"#" + escapedText + "\">",
aClose = "</a>";
return aOpen + renderer.heading.apply(renderer, arguments) + aClose;
};
// Change links to .md files to .html
customRenderer.link = function (href, title, text) {
// ...but only if they look like relative paths
return (href || "").indexOf(":") === -1 && href[0] !== "/" ?
renderer.link(href.replace(/\.md/, ".html"), title, text) :
renderer.link.apply(renderer, arguments);
};
return customRenderer;
}
options['in'] = options['in'] || options.i;
options.out = options.out || options.o;
marked.setOptions({
renderer: new CustomRenderer(),
gfm: true,
tables: true,
breaks: false,
pedantic: false,
sanitize: true,
smartLists: true,
smartypants: false
});
// Convert all markdown files.
// First, pull out nomnoml diagrams.
// Then, convert remaining Markdown to HTML.
glob(options['in'] + "/**/*.md", {}, function (err, files) {
files.forEach(function (file) {
var destination = file.replace(options['in'], options.out)
.replace(/md$/, "html"),
destPath = path.dirname(destination),
prefix = path.basename(destination).replace(/\.html$/, ""),
//Determine whether TOC should be rendered for this file based
//on regex provided as command line option
renderTOC = file.match(options['suppress-toc'] || "") === null;
mkdirp(destPath, function (err) {
fs.createReadStream(file, { encoding: 'utf8' })
.pipe(split())
.pipe(nomnomlifier(destPath, prefix))
.pipe(gfmifier(renderTOC))
.pipe(fs.createWriteStream(destination, {
encoding: 'utf8'
}));
});
});
});
// Also copy over all HTML, CSS, or PNG files
glob(options['in'] + "/**/*.@(html|css|png)", {}, function (err, files) {
files.forEach(function (file) {
var destination = file.replace(options['in'], options.out),
destPath = path.dirname(destination),
streamOptions = {};
if (file.match(/png$/)) {
streamOptions.encoding = null;
} else {
streamOptions.encoding = 'utf8';
}
mkdirp(destPath, function (err) {
fs.createReadStream(file, streamOptions)
.pipe(fs.createWriteStream(destination, streamOptions));
});
});
});
}());

7
docs/header.html Normal file
View File

@ -0,0 +1,7 @@
<html>
<head>
<link rel="stylesheet"
href="http://jasonm23.github.io/markdown-css-themes/avenir-white.css">
</head>
<body>

View File

@ -0,0 +1,232 @@
# Overview
The framework layer's most basic responsibility is allowing individual
software components to communicate. The software components it recognizes
are:
* _Extensions_: Individual units of functionality that can be added to
or removed from Open MCT Web. _Extension categories_ distinguish what
type of functionality is being added/removed.
* _Bundles_: A grouping of related extensions
(named after an analogous concept from [OSGi](http://www.osgi.org/))
that may be added or removed as a group.
The framework layer operates by taking a set of active bundles, and
exposing extensions to one another as-needed, using
[dependency injection](https://en.wikipedia.org/wiki/Dependency_injection).
Extensions are responsible for declaring their dependencies in a
manner which the framework layer can understand.
```nomnoml
#direction: down
[Open MCT Web|
[Dependency injection framework]-->[Platform bundle #1]
[Dependency injection framework]-->[Platform bundle #2]
[Dependency injection framework]-->[Plugin bundle #1]
[Dependency injection framework]-->[Plugin bundle #2]
[Platform bundle #1|[Extensions]]
[Platform bundle #2|[Extensions]]
[Plugin bundle #1|[Extensions]]
[Plugin bundle #2|[Extensions]]
[Platform bundle #1]<->[Platform bundle #2]
[Plugin bundle #1]<->[Platform bundle #2]
[Plugin bundle #1]<->[Plugin bundle #2]
]
```
The "dependency injection framework" in this case is
[AngularJS](https://angularjs.org/). Open MCT Web's framework layer
is really just a thin wrapper over Angular that recognizes the
concepts of bundles and extensions (as declared in JSON files) and
registering extensions with Angular. It additionally acts as a
mediator between Angular and [RequireJS](http://requirejs.org/),
which is used to load JavaScript sources which implement
extensions.
```nomnoml
[Framework layer|
[AngularJS]<-[Framework Component]
[RequireJS]<-[Framework Component]
[Framework Component]1o-*[Bundles]
]
```
It is worth noting that _no other components_ are "aware" of the
framework component directly; Angular and Require are _used by_ the
framework components, and extensions in various bundles will have
their dependencies satisfied by Angular as a consequence of registration
activities which were performed by the framework component.
## Application Initialization
The framework component initializes an Open MCT Web application following
a simple sequence of steps.
```nomnoml
[<start> Start]->[<state> Load bundles.json]
[Load bundles.json]->[<state> Load bundle.json files]
[Load bundle.json files]->[<state> Resolve implementations]
[Resolve implementations]->[<state> Register with Angular]
[Register with Angular]->[<state> Bootstrap application]
[Bootstrap application]->[<end> End]
```
1. __Loading bundles.json.__ A file named `bundles.json` is loaded to determine
which bundles to load. Bundles are given in this file as relative paths
which point to bundle directories.
2. __Load bundle.json files.__ Individual bundle definitions are loaded; a
`bundle.json` file is expected in each bundle directory.
2. __Resolving implementations.__ Any scripts which provide implementations for
extensions exposed by bundles are loaded, using RequireJS.
3. __Register with Angular.__ Resolved extensions are registered with Angular,
such that they can be used by the application at run-time. This stage
includes both registration of Angular built-ins (directives, controllers,
routes, constants, and services) as well as registration of non-Angular
extensions.
4. __Bootstrap application.__ Once all extensions have been registered,
the Angular application
[is bootstrapped](https://docs.angularjs.org/guide/bootstrap).
## Architectural Paradigm
```nomnoml
[Extension]
[Extension]o->[Dependency #1]
[Extension]o->[Dependency #2]
[Extension]o->[Dependency #3]
```
Open MCT Web's architecture relies on a simple premise: Individual units
(extensions) only have access to the dependencies they declare that they
need, and they acquire references to these dependencies via dependency
injection. This has several desirable traits:
* Programming to an interface is enforced. Any given dependency can be
swapped out for something which exposes an equivalent interface. This
improves flexibility against refactoring, simplifies testing, and
provides a common mechanism for extension and reconfiguration.
* The dependencies of a unit must be explicitly defined. This means that
it can be easily determined what a given unit's role is within the
larger system, in terms of what other components it will interact with.
It also helps to enforce good separation of concerns: When a set of
declared dependencies becomes long it is obvious, and this is usually
a sign that a given unit is involved in too many concerns and should
be refactored into smaller pieces.
* Individual units do not need to be aware of the framework; they need
only be aware of the interfaces to the components they specifically
use. This avoids introducing a ubiquitous dependency upon the framework
layer itself; it is plausible to modify or replace the framework
without making changes to individual software components which run upon
the framework.
A drawback to this approach is that it makes it difficult to define
"the architecture" of Open MCT Web, in terms of describing the specific
units that interact at run-time. The run-time architecture is determined
by the framework as the consequence of wiring together dependencies.
As such, the specific architecture of any given application built on
Open MCT Web can look very different.
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).
## Extension Categories
One of the capabilities that the framework component layers on top of
AngularJS is support for many-to-one dependencies. That is, a specific
extension may declare a dependency to _all extensions of a specific
category_, instead of being limited to declaring specific dependencies.
```nomnoml
#direction: right
[Specific Extension] 1 o-> * [Extension of Some Category]
```
This is useful for introducing specific extension points to an application.
Some unit of software will depend upon all extensions of a given category
and integrate their behavior into the system in some fashion; plugin authors
can then add new extensions of that category to augment existing behaviors.
Some developers may be familiar with the use of registries to achieve
similar characteristics. This approach is similar, except that the registry
is effectively implicit whenever a new extension category is used or
depended-upon. This has some advantages over a more straightforward
registry-based approach:
* These many-to-one relationships are expressed as dependencies; an
extension category is registered as having dependencies on all individual
extensions of this category. This avoids ordering issues that may occur
with more conventional registries, which may be observed before all
dependencies are resolved.
* The need for service registries of specific types is removed, reducing
the number of interfaces to manage within the system. Groups of
extensions are provided as arrays.
## Composite Services
Composite services (registered via extension category `components`) are
a pattern supported by the framework. These allow service instances to
be built from multiple components at run-time; support for this pattern
allows additional bundles to introduce or modify behavior associated
with these services without modifying or replacing original service
instances.
```nomnoml
#direction: down
[<abstract> FooService]
[FooDecorator #1]--:>[FooService]
[FooDecorator #n]--:>[FooService]
[FooAggregator]--:>[FooService]
[FooProvider #1]--:>[FooService]
[FooProvider #n]--:>[FooService]
[FooDecorator #1]o->[<state> ...decorators...]
[...decorators...]o->[FooDecorator #n]
[FooDecorator #n]o->[FooAggregator]
[FooAggregator]o->[FooProvider #1]
[FooAggregator]o->[<state> ...providers...]
[FooAggregator]o->[FooProvider #n]
[FooDecorator #1]--[<note> Exposed as fooService]
```
In this pattern, components all implement an interface which is
standardized for that service. Components additionally declare
that they belong to one of three types:
* __Providers.__ A provider actually implements the behavior
(satisfies the contract) for that kind of service. For instance,
if a service is responsible for looking up documents by an identifier,
one provider may do so by querying a database, while another may
do so by reading a static JSON document. From the outside, either
provider would look the same (they expose the same interface) and
they could be swapped out easily.
* __Aggregator.__ An aggregator takes many providers and makes them
behave as one. Again, this implements the same interface as an
individual provider, so users of the service do not need to be
concerned about the difference between consulting many providers
and consulting one. Continuing with the example of a service that
looks up documents by identifiers, an aggregator here might consult
all providers, and return any document is found (perhaps picking one
over the other or merging documents if there are multiple matches.)
* __Decorators.__ A decorator exposes the same interface as other
components, but instead of fully implementing the behavior associated
with that kind of service, it only acts as an intermediary, delegating
the actual behavior to a different component. Decorators may transform
inputs or outputs, or initiate some side effects associated with a
service. This is useful if certain common behavior associated with a
service (caching, for instance) may be useful across many different
implementations of that same service.
The framework will register extensions in this category such that an
aggregator will depend on all of its providers, and decorators will
depend upon on one another in a chain. The result of this compositing step
(the last decorator, if any; otherwise the aggregator, if any;
otherwise a single provider) will be exposed as a single service that
other extensions can acquire through dependency injection. Because all
components of the same type of service expose the same interface, users
of that service do not need to be aware that they are talking to an
aggregator or a provider, for instance.

View File

@ -0,0 +1,78 @@
# Introduction
The purpose of this document is to familiarize developers with the
overall architecture of Open MCT Web.
The target audience includes:
* _Platform maintainers_: Individuals involved in developing,
extending, and maintaing capabilities of the platform.
* _Integration developers_: Individuals tasked with integrated
Open MCT Web into a larger system, who need to understand
its inner workings sufficiently to complete this integration.
As the focus of this document is on architecture, whenever possible
implementation details (such as relevant API or JSON syntax) have been
omitted. These details may be found in the developer guide.
# Overview
Open MCT Web is client software: It runs in a web browser and
provides a user interface, while communicating with various
server-side resources through browser APIs.
```nomnoml
#direction: right
[Client|[Browser|[Open MCT Web]->[Browser APIs]]]
[Server|[Web services]]
[Client]<->[Server]
```
While Open MCT Web can be configured to run as a standalone client,
this is rarely very useful. Instead, it is intended to be used as a
display and interaction layer for information obtained from a
variety of back-end services. Doing so requires authoring or utilizing
adapter plugins which allow Open MCT Web to interact with these services.
Typically, the pattern here is to provide a known interface that
Open MCT Web can utilize, and implement it such that it interacts with
whatever back-end provides the relevant information.
Examples of back-ends that can be utilized in this fashion include
databases for the persistence of user-created objects, or sources of
telemetry data.
## Software Architecture
The simplest overview of Open MCT Web is to look at it as a "layered"
architecture, where each layer more clearly specifies the behavior
of the software.
```nomnoml
#direction: down
[Open MCT Web|
[Platform]<->[Application]
[Framework]->[Application]
[Framework]->[Platform]
]
```
These layers are:
* [_Framework_](framework.md): The framework layer is responsible for
managing the interactions between application components. It has no
application-specific knowledge; at this layer, we have only
established an abstraction by which different software components
may communicate and/or interact.
* [_Platform_](platform.md): The platform layer defines the general look,
feel, and behavior of Open MCT Web. This includes user-facing components like
Browse mode and Edit mode, as well as underlying elements of the
information model and the general service infrastructure.
* _Application_: The application layer defines specific features of
an application built on Open MCT Web. This includes adapters to
specific back-ends, new types of things for users to create, and
new ways of visualizing objects within the system. This layer
typically consists of a mix of custom plug-ins to Open MCT Web,
as well as optional features (such as Plot view) included alongside
the platform.

View File

@ -0,0 +1,726 @@
# Overview
The Open MCT Web platform utilizes the [framework layer](Framework.md)
to provide an extensible baseline for applications which includes:
* A common user interface (and user interface paradigm) for dealing with
domain objects of various sorts.
* A variety of extension points for introducing new functionality
of various kinds within the context of the common user interface.
* A service infrastructure to support building additional components.
## Platform Architecture
While the framework provides a more general architectural paradigm for
building application, the platform adds more specificity by defining
additional extension types and allowing for integration with back end
components.
The run-time architecture of an Open MCT Web application can be categorized
into certain high-level tiers:
```nomnoml
[DOM]->[<state> AngularJS]
[AngularJS]->[Presentation Layer]
[Presentation Layer]->[Information Model]
[Presentation Layer]->[Service Infrastructure]
[Information Model]->[Service Infrastructure]
[Service Infrastructure]->[<state> Browser APIs]
[Browser APIs]->[Back-end]
```
Applications built using Open MCT Web may add or configure functionality
in __any of these tiers__.
* _DOM_: The rendered HTML document, composed from HTML templates which
have been processed by AngularJS and will be updated by AngularJS
to reflect changes from the presentation layer. User interactions
are initiated from here and invoke behavior in the presentation layer. HTML 
templates are written in Angulars template syntax; see the [Angular documentation on templates](https://docs.angularjs.org/guide/templates). 
These describe the page as actually seen by the user. Conceptually, 
stylesheets (controlling the look­and­feel of the rendered templates) belong 
in this grouping as well. 
* [_Presentation layer_](#presentation-layer): The presentation layer
is responsible for updating (and providing information to update)
the displayed state of the application. The presentation layer consists
primarily of _controllers_ and _directives_. The presentation layer is
concerned with inspecting the information model and preparing it for
display.
* [_Information model_](#information-model): Provides a common (within Open MCT 
Web) set of interfaces for dealing with “things” ­ domain objects ­ within the 
system. User­facing concerns in a Open MCT Web application are expressed as 
domain objects; examples include folders (used to organize other domain 
objects), layouts (used to build displays), or telemetry points (used as 
handles for streams of remote measurements.) These domain objects expose a 
common set of interfaces to allow reusable user interfaces to be built in the 
presentation and template tiers; the specifics of these behaviors are then 
mapped to interactions with underlying services. 
* [_Service infrastructure_](#service-infrastructure): The service
infrastructure is responsible for providing the underlying general
functionality needed to support the information model. This includes
exposing underlying sets of extensions and mediating with the
back-end.
* _Back-end_: The back-end is out of the scope of Open MCT Web, except
for the interfaces which are utilized by adapters participating in the
service infrastructure. Includes the underlying persistence stores, telemetry 
streams, and so forth which the Open MCT Web client is being used to interact 
with.
## Application Start-up
Once the
[application has been initialized](Framework.md#application-initialization)
Open MCT Web primarily operates in an event-driven paradigm; various
events (mouse clicks, timers firing, receiving responses to XHRs) trigger
the invocation of functions, typically in the presentation layer for
user actions or in the service infrastructure for server responses.
The "main point of entry" into an initialized Open MCT Web application
is effectively the
[route](https://docs.angularjs.org/api/ngRoute/service/$route#example)
which is associated with the URL used to access Open MCT Web (or a
default route.) This route will be associated with a template which
will be displayed; this template will include references to directives
and controllers which will be interpreted by Angular and used to
initialize the state of the display in a manner which is backed by
both the information model and the service infrastructure.
```nomnoml
[<start> Start]->[<state> page load]
[page load]->[<state> route selection]
[route selection]->[<state> compile, display template]
[compile, display template]->[Template]
[Template]->[<state> use Controllers]
[Template]->[<state> use Directives]
[use Controllers]->[Controllers]
[use Directives]->[Directives]
[Controllers]->[<state> consult information model]
[consult information model]->[<state> expose data]
[expose data]->[Angular]
[Angular]->[<state> update display]
[Directives]->[<state> add event listeners]
[Directives]->[<state> update display]
[add event listeners]->[<end> End]
[update display]->[<end> End]
```
# Presentation Layer
The presentation layer of Open MCT Web is responsible for providing
information to display within templates, and for handling interactions
which are initiated from templated DOM elements. AngularJS acts as
an intermediary between the web page as the user sees it, and the
presentation layer implemented as Open MCT Web extensions.
```nomnoml
[Presentation Layer|
[Angular built-ins|
[routes]
[controllers]
[directives]
[templates]
]
[Domain object representation|
[views]
[representations]
[representers]
[gestures]
]
]
```
## Angular built-ins
Several extension categories in the presentation layer map directly
to primitives from AngularJS:
* [_Controllers_](https://docs.angularjs.org/guide/controller) provide
data to templates, and expose functionality that can be called from
templates.
* [_Directives_](https://docs.angularjs.org/guide/directive) effectively
extend HTML to provide custom behavior associated with specific
attributes and tags.
* [_Routes_](https://docs.angularjs.org/api/ngRoute/service/$route#example)
are used to associate specific URLs (including the fragment identifier)
with specific application states. (In Open MCT Web, these are used to
describe the mode of usage - e.g. browse or edit - as well as to
identify the object being used.)
* [_Templates_](https://docs.angularjs.org/guide/templates) are partial
HTML documents that will be rendered and kept up-to-date by AngularJS.
Open MCT Web introduces a custom `mct-include` directive which acts
as a wrapper around `ng-include` to allow templates to be referred
to by symbolic names.
## Domain object representation
The remaining extension categories in the presentation layer are specific
to displaying domain objects.
* _Representations_ are templates that will be used to display
domain objects in specific ways (e.g. "as a tree node.")
* _Views_ are representations which are exposed to the user as options
for displaying domain objects.
* _Representers_ are extensions which modify or augment the process
of representing domain objects generally (e.g. by attaching
gestures to them.)
* _Gestures_ provide associations between specific user actions
(expressed as DOM events) and resulting behavior upon domain objects
(typically expressed as members of the `actions` extension category)
that can be reused across domain objects. For instance, `drag` and
`drop` are both gestures associated with using drag-and-drop to
modify the composition of domain objects by interacting with their
representations.
# Information Model
```nomnoml
#direction: right
[Information Model|
[DomainObject|
getId() : string
getModel() : object
getCapability(key : string) : Capability
hasCapability(key : string) : boolean
useCapability(key : string, args...) : *
]
[DomainObject] 1 +- 1 [Model]
[DomainObject] 1 o- * [Capability]
]
```
Domain objects are the most fundamental component of Open MCT Web's
information model. A domain object is some distinct thing relevant to a
user's work flow, such as a telemetry channel, display, or similar.
Open MCT Web is a tool for viewing, browsing, manipulating, and otherwise
interacting with a graph of domain objects.
A domain object should be conceived of as the union of the following:
* _Identifier_: A machine-readable string that uniquely identifies the
domain object within this application instance.
* _Model_: The persistent state of the domain object. A domain object's
model is a JavaScript object that can be losslessly converted to JSON.
* _Capabilities_: Dynamic behavior associated with the domain object.
Capabilities are JavaScript objects which provide additional methods
for interacting with the domain objects which expose those capabilities.
Not all domain objects expose all capabilities. The interface exposed
by any given capability will depend on its type (as identified
by the `key` argument.) For instance, a `persistence` capability
has a different interface from a `telemetry` capability. Using
capabilities requires some prior knowledge of their interface.
## Capabilities and Services
```nomnoml
#direction: right
[DomainObject]o-[FooCapability]
[FooCapability]o-[FooService]
[FooService]o-[foos]
```
At run-time, the user is primarily concerned with interacting with
domain objects. These interactions are ultimately supported via back-end
services, but to allow customization per-object, these are often mediated
by capabilities.
A common pattern that emerges in the Open MCT Platform is as follows:
* A `DomainObject` has some particular behavior that will be supported
by a service.
* A `Capability` of that domain object will define that behavior,
_for that domain object_, supported by a service.
* A `Service` utilized by that capability will perform the actual behavior.
* An extension category will be utilized by that capability to determine
the set of possible behaviors.
Concrete examples of capabilities which follow this pattern
(or a subset of this pattern) include:
```nomnoml
#direction: right
[DomainObject]1 o- *[Capability]
[Capability]<:--[TypeCapability]
[Capability]<:--[ActionCapability]
[Capability]<:--[PersistenceCapability]
[Capability]<:--[TelemetryCapability]
[TypeCapability]o-[TypeService]
[TypeService]o-[types]
[ActionCapability]o-[ActionService]
[ActionService]o-[actions]
[PersistenceCapability]o-[PersistenceService]
[TelemetryCapability]o-[TelemetryService]
```
# Service Infrastructure
Most services exposed by the Open MCT Web platform follow the
[composite services](Framework.md#composite-services) to permit
a higher degree of flexibility in how a service can be modified
or customized for specific applications.
To simplify usage for plugin developers, the platform also usually
includes a provider implementation for these service type that consumes
some extension category. For instance, an `ActionService` provider is
included which depends upon extension category `actions`, and exposes
all actions declared as such to the system. As such, plugin developers
can simply implement the new actions they wish to be made available without
worrying about the details of composite services or implementing a new
`ActionService` provider; however, the ability to implement a new provider
remains useful when the expressive power of individual extensions is
insufficient.
```nomnoml
[ Service Infrastructure |
[ObjectService]->[ModelService]
[ModelService]->[PersistenceService]
[ObjectService]->[CapabilityService]
[CapabilityService]->[capabilities]
[capabilities]->[TelemetryService]
[capabilities]->[PersistenceService]
[capabilities]->[TypeService]
[capabilities]->[ActionService]
[capabilities]->[ViewService]
[PersistenceService]->[<database> Document store]
[TelemetryService]->[<database> Telemetry source]
[ActionService]->[actions]
[ActionService]->[PolicyService]
[ViewService]->[PolicyService]
[ViewService]->[views]
[PolicyService]->[policies]
[TypeService]->[types]
]
```
A short summary of the roles of these services:
* _[ObjectService](#object-service)_: Allows retrieval of domain objects by
their identifiers; in practice, often the main point of entry into the
[information model](#information-model).
* _[ModelService](#model-service)_: Provides domain object models, retrieved
by their identifier.
* _[CapabilityService](#capability-service)_: Provides capabilities, as they
apply to specific domain objects (as judged from their model.)
* _[TelemetryService](#telemetry-service)_: Provides access to historical
and real-time telemetry data.
* _[PersistenceService](#persistence-service)_: Provides the ability to
store and retrieve documents (such as domain object models.)
* _[ActionService](#action-service)_: Provides distinct user actions that
can take place within the system (typically, upon or using domain objects.)
* _[ViewService](#view-service)_: Provides views for domain objects. A view
is a user-selectable representation of a domain object (in practice, an
HTML template.)
* _[PolicyService](#policy-service)_: Handles decisions about which
behavior are allowed within certain specific contexts.
* _[TypeService](#type-service)_: Provides information to distinguish
different types of domain objects from one another within the system.
## Object Service
```nomnoml
#direction: right
[<abstract> ObjectService|
getObjects(ids : Array.<string>) : Promise.<object.<string, DomainObject>>
]
[DomainObjectProvider]--:>[ObjectService]
[DomainObjectProvider]o-[ModelService]
[DomainObjectProvider]o-[CapabilityService]
```
As domain objects are central to Open MCT Web's information model,
acquiring domain objects is equally important.
```nomnoml
#direction: right
[<start> Start]->[<state> Look up models]
[<state> Look up models]->[<state> Look up capabilities]
[<state> Look up capabilities]->[<state> Instantiate DomainObject]
[<state> Instantiate DomainObject]->[<end> End]
```
Open MCT Web includes an implementation of an `ObjectService` which
satisfies this capability by:
* Consulting the [Model Service](#model-service) to acquire domain object
models by identifier.
* Passing these models to a [Capability Service](#capability-service) to
determine which capabilities are applicable.
* Combining these results together as [DomainObject](#information-model)
instances.
## Model Service
```nomnoml
#direction: down
[<abstract> ModelService|
getModels(ids : Array.<string>) : Promise.<object.<string, object>>
]
[StaticModelProvider]--:>[ModelService]
[RootModelProvider]--:>[ModelService]
[PersistedModelProvider]--:>[ModelService]
[ModelAggregator]--:>[ModelService]
[CachingModelDecorator]--:>[ModelService]
[MissingModelDecorator]--:>[ModelService]
[MissingModelDecorator]o-[CachingModelDecorator]
[CachingModelDecorator]o-[ModelAggregator]
[ModelAggregator]o-[StaticModelProvider]
[ModelAggregator]o-[RootModelProvider]
[ModelAggregator]o-[PersistedModelProvider]
[PersistedModelProvider]o-[PersistenceService]
[RootModelProvider]o-[roots]
[StaticModelProvider]o-[models]
```
The platform's model service is responsible for providing domain object
models (effectively, JSON documents describing the persistent state
associated with domain objects.) These are retrieved by identifier.
The platform includes multiple components of this variety:
* `PersistedModelProvider` looks up domain object models from
a persistence store (the [`PersistenceService`](#persistence-service));
this is how user-created and user-modified
domain object models are retrieved.
* `RootModelProvider` provides domain object models that have been
declared via the `roots` extension category. These will appear at the
top level of the tree hierarchy in the user interface.
* `StaticModelProvider` provides domain object models that have been
declared via the `models` extension category. This is useful for
allowing plugins to expose new domain objects declaratively.
* `ModelAggregator` merges together the results from multiple providers.
If multiple providers return models for the same domain object,
the most recently modified version (as determined by the `modified`
property of the model) is chosen.
* `CachingModelDecorator` caches model instances in memory. This
ensures that only a single instance of a domain object model is
present at any given time within the application, and prevent
redundant retrievals.
* `MissingModelDecorator` adds in placeholders when no providers
have returned domain object models for a specific identifier. This
allows the user to easily see that something was expected to be
present, but wasn't.
## Capability Service
```nomnoml
#direction: down
[<abstract> CapabilityService|
getCapabilities(model : object) : object.<string, Function>
]
[CoreCapabilityProvider]--:>[CapabilityService]
[QueuingPersistenceCapabilityDecorator]--:>[CapabilityService]
[CoreCapabilityProvider]o-[capabilities]
[QueuingPersistenceCapabilityDecorator]o-[CoreCapabilityProvider]
```
The capability service is responsible for determining which capabilities
are applicable for a given domain object, based on its model. Primarily,
this is handled by the `CoreCapabilityProvider`, which examines
capabilities exposed via the `capabilities` extension category.
Additionally, `platform/persistence/queue` decorates the persistence
capability specifically to batch persistence attempts among multiple
objects (this allows failures to be recognized and handled in groups.)
## Telemetry Service
```nomnoml
[<abstract> TelemetryService|
requestData(requests : Array.<TelemetryRequest>) : Promise.<object>
subscribe(requests : Array.<TelemetryRequest>) : Function
]<--:[TelemetryAggregator]
```
The telemetry service is responsible for acquiring telemetry data.
Notably, the platform does not include any providers for
`TelemetryService`; applications built on Open MCT Web will need to
implement a provider for this service if they wish to expose telemetry
data. This is usually the most important step for integrating Open MCT Web
into an existing telemetry system.
Requests for telemetry data are usually initiated in the
[presentation layer](#presentation-layer) by some `Controller` referenced
from a view. The `telemetryHandler` service is most commonly used (although
one could also use an object's `telemetry` capability directly) as this
handles capability delegation, by which a domain object such as a Telemetry
Panel can declare that its `telemetry` capability should be handled by the
objects it contains. Ultimately, the request for historical data and the
new subscriptions will reach the `TelemetryService`, and, by way of the
provider(s) which are present for that `TelemetryService`, will pass the
same requests to the back-end.
```nomnoml
[<start> Start]->[Controller]
[Controller]->[<state> declares object of interest]
[declares object of interest]->[TelemetryHandler]
[TelemetryHandler]->[<state> requests telemetry from capabilities]
[TelemetryHandler]->[<state> subscribes to telemetry using capabilities]
[requests telemetry from capabilities]->[TelemetryCapability]
[subscribes to telemetry using capabilities]->[TelemetryCapability]
[TelemetryCapability]->[<state> requests telemetry]
[TelemetryCapability]->[<state> subscribes to telemetry]
[requests telemetry]->[TelemetryService]
[subscribes to telemetry]->[TelemetryService]
[TelemetryService]->[<state> issues request]
[TelemetryService]->[<state> updates subscriptions]
[TelemetryService]->[<state> listens for real-time data]
[issues request]->[<database> Telemetry Back-end]
[updates subscriptions]->[Telemetry Back-end]
[listens for real-time data]->[Telemetry Back-end]
[Telemetry Back-end]->[<end> End]
```
The back-end, in turn, is expected to provide whatever historical
telemetry is available to satisfy the request that has been issue.
```nomnoml
[<start> Start]->[<database> Telemetry Back-end]
[Telemetry Back-end]->[<state> transmits historical telemetry]
[transmits historical telemetry]->[TelemetryService]
[TelemetryService]->[<state> packages telemetry, fulfills requests]
[packages telemetry, fulfills requests]->[TelemetryCapability]
[TelemetryCapability]->[<state> unpacks telemetry per-object, fulfills request]
[unpacks telemetry per-object, fulfills request]->[TelemetryHandler]
[TelemetryHandler]->[<state> exposes data]
[TelemetryHandler]->[<state> notifies controller]
[exposes data]->[Controller]
[notifies controller]->[Controller]
[Controller]->[<state> prepares data for template]
[prepares data for template]->[Template]
[Template]->[<state> displays data]
[displays data]->[<end> End]
```
One peculiarity of this approach is that we package many responses
together at once in the `TelemetryService`, then unpack these in the
`TelemetryCapability`, then repackage these in the `TelemetryHandler`.
The rationale for this is as follows:
* In the `TelemetryService`, we want to have the ability to combine
multiple requests into one call to the back-end, as many back-ends
will support this. It follows that we give the response as a single
object, packages in a manner that allows responses to individual
requests to be easily identified.
* In the `TelemetryCapability`, we want to provide telemetry for a
_single object_, so the telemetry data gets unpacked. This allows
for the unpacking of data to be handled in a single place, and
also permits a flexible substitution method; domain objects may have
implementations of the `telemetry` capability that do not use the
`TelemetryService` at all, while still maintaining compatibility
with any presentation layer code written to utilize this capability.
(This is true of capabilities generally.)
* In the `TelemetryHandler`, we want to group multiple responses back
together again to make it easy for the presentation layer to consume.
In this case, the grouping is different from what may have occurred
in the `TelemetryService`; this grouping is based on what is expected
to be useful _in a specific view_. The `TelemetryService`
may be receiving requests from multiple views.
```nomnoml
[<start> Start]->[<database> Telemetry Back-end]
[Telemetry Back-end]->[<state> notifies client of new data]
[notifies client of new data]->[TelemetryService]
[TelemetryService]->[<choice> relevant subscribers?]
[relevant subscribers?] yes ->[<state> notify subscribers]
[relevant subscribers?] no ->[<state> ignore]
[ignore]->[<end> Ignored]
[notify subscribers]->[TelemetryCapability]
[TelemetryCapability]->[<state> notify listener]
[notify listener]->[TelemetryHandler]
[TelemetryHandler]->[<state> exposes data]
[TelemetryHandler]->[<state> notifies controller]
[exposes data]->[Controller]
[notifies controller]->[Controller]
[Controller]->[<state> prepares data for template]
[prepares data for template]->[Template]
[Template]->[<state> displays data]
[displays data]->[<end> End]
```
The flow of real-time data is similar, and is handled by a sequence
of callbacks between the presentation layer component which is
interested in data and the telemetry service. Providers in the
telemetry service listen to the back-end for new data (via whatever
mechanism their specific back-end supports), package this data in
the same manner as historical data, and pass that to the callbacks
which are associated with relevant requests.
## Persistence Service
```nomnoml
#direction: right
[<abstract> PersistenceService|
listSpaces() : Promise.<Array.<string>>
listObjects() : Promise.<Array.<string>>
createObject(space : string, key : string, document : object) : Promise.<boolean>
readObject(space : string, key : string, document : object) : Promise.<object>
updateObject(space : string, key : string, document : object) : Promise.<boolean>
deleteObject(space : string, key : string, document : object) : Promise.<boolean>
]
[ElasticPersistenceProvider]--:>[PersistenceService]
[ElasticPersistenceProvider]->[<database> ElasticSearch]
[CouchPersistenceProvider]--:>[PersistenceService]
[CouchPersistenceProvider]->[<database> CouchDB]
```
Closely related to the notion of domain objects models is their
persistence. The `PersistenceService` allows these to be saved
and loaded. (Currently, this capability is only used for domain
object models, but the interface has been designed without this idea
in mind; other kinds of documents could be saved and loaded in the
same manner.)
There is no single definitive implementation of a `PersistenceService` in
the platform. Optional adapters are provided to store and load documents
from CouchDB and ElasticSearch, respectively; plugin authors may also
write additional adapters to utilize different back end technologies.
## Action Service
```nomnoml
[ActionService|
getActions(context : ActionContext) : Array.<Action>
]
[ActionProvider]--:>[ActionService]
[CreateActionProvider]--:>[ActionService]
[ActionAggregator]--:>[ActionService]
[LoggingActionDecorator]--:>[ActionService]
[PolicyActionDecorator]--:>[ActionService]
[LoggingActionDecorator]o-[PolicyActionDecorator]
[PolicyActionDecorator]o-[ActionAggregator]
[ActionAggregator]o-[ActionProvider]
[ActionAggregator]o-[CreateActionProvider]
[ActionProvider]o-[actions]
[CreateActionProvider]o-[TypeService]
[PolicyActionDecorator]o-[PolicyService]
```
Actions are discrete tasks or behaviors that can be initiated by a user
upon or using a domain object. Actions may appear as menu items or
buttons in the user interface, or may be triggered by certain gestures.
Responsibilities of platform components of the action service are as
follows:
* `ActionProvider` exposes actions registered via extension category
`actions`, supporting simple addition of new actions. Actions are
filtered down to match action contexts based on criteria defined as
part of an action's extension definition.
* `CreateActionProvider` provides the various Create actions which
populate the Create menu. These are driven by the available types,
so do not map easily ot extension category `actions`; instead, these
are generated after looking up which actions are available from the
[`TypeService`](#type-service).
* `ActionAggregator` merges together actions from multiple providers.
* `PolicyActionDecorator` enforces the `action` policy category by
filtering out actions which violate this policy, as determined by
consulting the [`PolicyService`](#policy-service).
* `LoggingActionDecorator` wraps exposed actions and writes to the
console when they are performed.
## View Service
```nomnoml
[ViewService|
getViews(domainObject : DomainObject) : Array.<View>
]
[ViewProvider]--:>[ViewService]
[PolicyViewDecorator]--:>[ViewService]
[ViewProvider]o-[views]
[PolicyViewDecorator]o-[ViewProvider]
```
The view service provides views that are relevant to a specified domain
object. A "view" is a user-selectable visualization of a domain object.
The responsibilities of components of the view service are as follows:
* `ViewProvider` exposes views registered via extension category
`views`, supporting simple addition of new views. Views are
filtered down to match domain objects based on criteria defined as
part of a view's extension definition.
* `PolicyViewDecorator` enforces the `view` policy category by
filtering out views which violate this policy, as determined by
consulting the [`PolicyService`](#policy-service).
## Policy Service
```nomnoml
[PolicyService|
allow(category : string, candidate : object, context : object, callback? : Function) : boolean
]
[PolicyProvider]--:>[PolicyService]
[PolicyProvider]o-[policies]
```
The policy service provides a general-purpose extensible decision-making
mechanism; plugins can add new extensions of category `policies` to
modify decisions of a known category.
Often, the policy service is referenced from a decorator for another
service, to filter down the results of using that service based on some
appropriate policy category.
The policy provider works by looking up all registered policy extensions
which are relevant to a particular _category_, then consulting each in
order to see if they allow a particular _candidate_ in a particular
_context_; the types for the `candidate` and `context` arguments will
vary depending on the `category`. Any one policy may disallow the
decision as a whole.
```nomnoml
[<start> Start]->[<state> is something allowed?]
[is something allowed?]->[PolicyService]
[PolicyService]->[<state> look up relevant policies by category]
[look up relevant policies by category]->[<state> consult policy #1]
[consult policy #1]->[Policy #1]
[Policy #1]->[<choice> policy #1 allows?]
[policy #1 allows?] no ->[<state> decision disallowed]
[policy #1 allows?] yes ->[<state> consult policy #2]
[consult policy #2]->[Policy #2]
[Policy #2]->[<choice> policy #2 allows?]
[policy #2 allows?] no ->[<state> decision disallowed]
[policy #2 allows?] yes ->[<state> consult policy #3]
[consult policy #3]->[<state> ...]
[...]->[<state> consult policy #n]
[consult policy #n]->[Policy #n]
[Policy #n]->[<choice> policy #n allows?]
[policy #n allows?] no ->[<state> decision disallowed]
[policy #n allows?] yes ->[<state> decision allowed]
[decision disallowed]->[<end> Disallowed]
[decision allowed]->[<end> Allowed]
```
The policy decision is effectively an "and" operation over the individual
policy decisions: That is, all policies must agree to allow a particular
policy decision, and the first policy to disallow a decision will cause
the entire decision to be disallowed. As a consequence of this, policies
should generally be written with a default behavior of "allow", and
should only disallow the specific circumstances they are intended to
disallow.
## Type Service
```nomnoml
[TypeService|
listTypes() : Array.<Type>
getType(key : string) : Type
]
[TypeProvider]--:>[TypeService]
[TypeProvider]o-[types]
```
The type service provides metadata about the different types of domain
objects that exist within an Open MCT Web application. The platform
implementation reads these types in from extension category `types`
and wraps them in a JavaScript interface.

3
docs/src/design/index.md Normal file
View File

@ -0,0 +1,3 @@
Design proposals:
* [API Redesign](proposals/APIRedesign.md)

View File

@ -0,0 +1,338 @@
# API Refactoring
This document summarizes a path toward implementing API changes
from the [API Redesign](../proposals/APIRedesign.md) for Open MCT Web
v1.0.0.
# Goals
These plans are intended to minimize:
* Waste; avoid allocating effort to temporary changes.
* Downtime; avoid making changes in large increments that blocks
delivery of new features for substantial periods of time.
* Risk; ensure that changes can be validated quickly, avoid putting
large effort into changes that have not been validated.
# Plan
```nomnoml
#comment: This diagram is in nomnoml syntax and should be rendered.
#comment: See https://github.com/nasa/openmctweb/issues/264#issuecomment-167166471
[<start> Start]->[<state> Imperative bundle registration]
[<state> Imperative bundle registration]->[<state> Build and packaging]
[<state> Imperative bundle registration]->[<state> Refactor API]
[<state> Build and packaging |
[<start> Start]->[<state> Incorporate a build step]
[<state> Incorporate a build step |
[<start> Start]->[<state> Choose package manager]
[<start> Start]->[<state> Choose build system]
[<state> Choose build system]<->[<state> Choose package manager]
[<state> Choose package manager]->[<state> Implement]
[<state> Choose build system]->[<state> Implement]
[<state> Implement]->[<end> End]
]->[<state> Separate repositories]
[<state> Separate repositories]->[<end> End]
]->[<state> Release candidacy]
[<start> Start]->[<state> Design registration API]
[<state> Design registration API |
[<start> Start]->[<state> Decide on role of Angular]
[<state> Decide on role of Angular]->[<state> Design API]
[<state> Design API]->[<choice> Passes review?]
[<choice> Passes review?] no ->[<state> Design API]
[<choice> Passes review?]-> yes [<end> End]
]->[<state> Refactor API]
[<state> Refactor API |
[<start> Start]->[<state> Imperative extension registration]
[<state> Imperative extension registration]->[<state> Refactor individual extensions]
[<state> Refactor individual extensions |
[<start> Start]->[<state> Prioritize]
[<state> Prioritize]->[<choice> Sufficient value added?]
[<choice> Sufficient value added?] no ->[<end> End]
[<choice> Sufficient value added?] yes ->[<state> Design]
[<state> Design]->[<choice> Passes review?]
[<choice> Passes review?] no ->[<state> Design]
[<choice> Passes review?]-> yes [<state> Implement]
[<state> Implement]->[<end> End]
]->[<state> Remove legacy bundle support]
[<state> Remove legacy bundle support]->[<end> End]
]->[<state> Release candidacy]
[<state> Release candidacy |
[<start> Start]->[<state> Verify |
[<start> Start]->[<choice> API well-documented?]
[<start> Start]->[<choice> API well-tested?]
[<choice> API well-documented?]-> no [<state> Write documentation]
[<choice> API well-documented?] yes ->[<end> End]
[<state> Write documentation]->[<choice> API well-documented?]
[<choice> API well-tested?]-> no [<state> Write test cases]
[<choice> API well-tested?]-> yes [<end> End]
[<state> Write test cases]->[<choice> API well-tested?]
]
[<start> Start]->[<state> Validate |
[<start> Start]->[<choice> Passes review?]
[<start> Start]->[<state> Use internally]
[<state> Use internally]->[<choice> Proves useful?]
[<choice> Passes review?]-> no [<state> Address feedback]
[<state> Address feedback]->[<choice> Passes review?]
[<choice> Passes review?] yes -> [<end> End]
[<choice> Proves useful?] yes -> [<end> End]
[<choice> Proves useful?] no -> [<state> Fix problems]
[<state> Fix problems]->[<state> Use internally]
]
[<state> Validate]->[<end> End]
[<state> Verify]->[<end> End]
]->[<state> Release]
[<state> Release]->[<end> End]
```
## Step 1. Imperative bundle registration
Register whole bundles imperatively, using their current format.
For example, in each bundle add a `bundle.js` file:
```js
define([
'mctRegistry',
'json!bundle.json'
], function (mctRegistry, bundle) {
mctRegistry.install(bundle, "path/to/bundle");
});
```
Where `mctRegistry.install` is placeholder API that wires into the
existing bundle registration mechanisms. The main point of entry
would need to be adapted to clearly depend on these bundles
(in the require sense of a dependency), and the framework layer
would need to implement and integrate with this transitional
API.
Benefits:
* Achieves an API Redesign goal with minimal immediate effort.
* Conversion to an imperative syntax may be trivially automated.
* Minimal change; reuse existing bundle definitions, primarily.
* Allows early validation of switch to imperative; unforeseen
consequences of the change may be detected at this point.
* Allows implementation effort to progress in parallel with decisions
about API changes, including fundamental ones such as the role of
Angular. May act in some sense as a prototype to inform those
decisions.
* Creates a location (framework layer) where subsequent changes to
the manner in which extensions are registered may be centralized.
When there is a one-to-one correspondence between the existing
form of an extension and its post-refactor form, adapters can be
written here to defer the task of making changes ubiquitously
throughout bundles, allowing for earlier validation and
verification of those changes, and avoiding ubiquitous changes
which might require us to go dark. (Mitigates
["greenfield paradox"](http://stepaheadsoftware.blogspot.com/2012/09/greenfield-or-refactor-legacy-code-base.html);
want to add value with new API but don't want to discard value
of tested/proven legacy codebase.)
Detriments:
* Requires transitional API to be implemented/supported; this is
waste. May mitigate this by time-bounding the effort put into
this step to ensure that waste is minimal.
Note that API changes at this point do not meaningfully reflect
the desired 1.0.0 API, so no API reviews are necessary.
## Step 2. Incorporate a build step
After the previous step is completed, there should be a
straightforward dependency graph among AMD modules, and an
imperative (albeit transitional) API allowing for other plugins
to register themselves. This should allow for a build step to
be included in a straightforward fashion.
Some goals for this build step:
* Compile (and, preferably, optimize/minify) Open MCT Web
sources into a single `.js` file.
* It is desirable to do the same for HTML sources, but
may wish to defer this until a subsequent refactoring
step if appropriate.
* Provide non-code assets in a format that can be reused by
derivative projects in a straightforward fashion.
Should also consider which dependency/packaging manager should
be used by dependent projects to obtain Open MCT Web. Approaches
include:
1. Plain `npm`. Dependents then declare their dependency with
`npm` and utilize built sources and assets in a documented
fashion. (Note that there are
[documented challenges](http://blog.npmjs.org/post/101775448305/npm-and-front-end-packaging)
in using `npm` in this fashion.)
2. Build with `npm`, but recommend dependents install using
`bower`, as this is intended for front-end development. This may
require checking in built products, however, which
we wish to avoid (this could be solved by maintaining
a separate repository for built products.)
In all cases, there is a related question of which build system
to use for asset generation/management and compilation/minification/etc.
1. [`webpack`](https://webpack.github.io/)
is well-suited in principle, as it is specifically
designed for modules with non-JS dependencies. However,
there may be limitations and/or undesired behavior here
(for instance, CSS dependencies get in-lined as style tags,
removing our ability to control ordering) so it may
2. `gulp` or `grunt`. Commonplace, but both still require
non-trivial coding and/or configuration in order to produce
appropriate build artifacts.
3. [Just `npm`](http://blog.keithcirkel.co.uk/how-to-use-npm-as-a-build-tool/).
Reduces the amount of tooling being used, but may introduce
some complexity (e.g. custom scripts) to the build process,
and may reduce portability.
## Step 3. Separate repositories
Refactor existing applications built on Open MCT Web such that they
are no longer forks, but instead separate projects with a dependency
on the built artifacts from Step 2.
Note that this is achievable already using `bower` (see `warp-bower`
branch at http://developer.nasa.gov/mct/warp for an example.)
However, changes involved in switching to an imperative API and
introducing a build process may change (and should simplify) the
approach used to utilize Open MCT Web as a dependency, so these
changes should be introduced first.
## Step 4. Design registration API
Design the registration API that will replace declarative extension
categories and extensions (including Angular built-ins and composite
services.)
This may occur in parallel with implementation steps.
It will be necessary
to have a decision about the role of Angular at this point; are extensions
registered via provider configuration (Angular), or directly in some
exposed registry?
Success criteria here should be based on peer review. Scope of peer
review should be based on perceived risk/uncertainty surrounding
proposed changes, to avoid waste; may wish to limit this review to
the internal team. (The extent to which external
feedback is available is limited, but there is an inherent timeliness
to external review; need to balance this.)
Benefits:
* Solves the "general case" early, allowing for early validation.
Note that in specific cases, it may be desirable to refactor some
current "extension category" in a manner that will not appear as
registries, _or_ to locate these in different
namespaces, _or_ to remove/replace certain categories entirely.
This work is deferred intentionally to allow for a solution of the
general case.
## Step 5. Imperative extension registration
Register individual extensions imperatively, implementing API changes
from the previous step. At this stage, _usage_ of the API may be confined
to a transitional adapter in the framework layer; bundles may continue
to utilize the transitional API for registering extensions in the
legacy format.
An important, ongoing sub-task here will be to discover and define dependencies
among bundles. Composite services and extension categories are presently
"implicit"; after the API redesign, these will become "explicit", insofar
as some specific component will be responsible for creating any registries.
As such, "bundles" which _use_ specific registries will need to have an
enforceable dependency (e.g. require) upon those "bundles" which
_declare_ those registries.
## Step 6. Refactor individual extensions
Refactor individual extension categories and/or services that have
been identified as needing changes. This includes, but is not
necessarily limited to:
* Views/Representations/Templates (refactored into "components.")
* Capabilities (refactored into "roles", potentially.)
* Telemetry (from `TelemetrySeries` to `TelemetryService`.)
Changes should be made one category at a time (either serially
or separately in parallel) and should involve a tight cycle of:
1. Prioritization/reprioritization; highest-value API improvements
should be done first.
2. Design.
3. Review. Refactoring individual extensions will require significant
effort (likely the most significant effort in the process) so changes
should be validated early to minimize risk/waste.
4. Implementation. These changes will not have a one-to-one relationship
with existing extensions, so changes cannot be centralized; usages
will need to be updated across all "bundles" instead of centralized
in a legacy adapter. If changes are of sufficient complexity, some
planning should be done to spread out the changes incrementally.
By necessity, these changes may break functionality in applications
built using Open MCT Web. On a case-by-case basis, should consider
providing temporary "legacy support" to allow downstream updates
to occur as a separate task; the relevant trade here is between
waste/effort required to maintain legacy support, versus the
downtime which may be introduced by making these changes simultaneously
across several repositories.
## Step 7. Remove legacy bundle support
Update bundles to remove any usages of legacy support for bundles
(including that used by dependent projects.) Then, remove legacy
support from Open MCT Web.
## Step 8. Release candidacy
Once API changes are complete, Open MCT Web should enter a release
candidacy cycle. Important things to look at here:
* Are changes really complete?
* Are they sufficiently documented?
* Are they sufficiently tested?
* Are changes really sufficient?
* Do reviewers think they are usable?
* Does the development team find them useful in practice? This
will require calendar time to ascertain; should allocate time
for this, particularly in alignment with the sprint/release
cycle.
* Has learning curve been measurably decreased? Comparing a to-do
list tutorial to [other examples(http://todomvc.com/) could
provide an empirical basis to this. How much code is required?
How much explanation is required? How many dependencies must
be installed before initial setup?
* Does the API offer sufficient power to implement the extensions we
anticipate?
* Any open API-related issues which should block a 1.0.0 release?
Any problems identified during release candidacy will require
subsequent design changes and planning.
## Step 9. Release
Once API changes have been verified and validated, proceed
with release, including:
* Tagging as version 1.0.0 (at an appropriate time in the
sprint/release cycle.)
* Close any open issues which have been resolved (or made obsolete)
by API changes.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,251 @@
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
- [Reducing interface depth (the bundle.json version)](#reducing-interface-depth-the-bundlejson-version)
- [Imperitive component registries](#imperitive-component-registries)
- [Get rid of "extension category" concept.](#get-rid-of-extension-category-concept)
- [Reduce number and depth of extension points](#reduce-number-and-depth-of-extension-points)
- [Composite services should not be the default](#composite-services-should-not-be-the-default)
- [Get rid of views, representations, and templates.](#get-rid-of-views-representations-and-templates)
- [Reducing interface depth (The angular discussion)](#reducing-interface-depth-the-angular-discussion)
- [More angular: for all services](#more-angular-for-all-services)
- [Less angular: only for views](#less-angular-only-for-views)
- [Standard packaging and build system](#standard-packaging-and-build-system)
- [Use systemjs for module loading](#use-systemjs-for-module-loading)
- [Use gulp or grunt for standard tooling](#use-gulp-or-grunt-for-standard-tooling)
- [Package openmctweb as single versioned file.](#package-openmctweb-as-single-versioned-file)
- [Misc Improvements](#misc-improvements)
- [Refresh on navigation](#refresh-on-navigation)
- [Move persistence adapter to promise rejection.](#move-persistence-adapter-to-promise-rejection)
- [Remove bulk requests from providers](#remove-bulk-requests-from-providers)
- [Notes on current API proposals:](#notes-on-current-api-proposals)
- [[1] Footnote: The angular debacle](#1-footnote-the-angular-debacle)
- ["Do or do not, there is no try"](#do-or-do-not-there-is-no-try)
- [A lack of commitment](#a-lack-of-commitment)
- [Commitment is good!](#commitment-is-good)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
# Reducing interface depth (the bundle.json version)
## Imperitive component registries
Transition component registries to javascript, get rid of bundle.json and bundles.json. Prescribe a method for application configuration, but allow flexibility in how application configuration is defined.
Register components in an imperitive fashion, see angularApp.factory, angularApp.controller, etc. Alternatively, implement our own application object with new registries and it's own form of registering objects.
## Get rid of "extension category" concept.
The concept of an "extension category" is itself an extraneous concept-- an extra layer of interface depth, an extra thing to learn before you can say "hello world". Extension points should be clearly supported and documented with whatever interfaces make sense. Developers who wish to add something that is conceptually equivalent to an extension category can do so directly, in the manner that suites their needs, without us forcing a common method on them.
## Reduce number and depth of extension points
Clearly specify supported extension points (e.g. persistence, model providers, telemetry providers, routes, time systems), but don't claim that the system has a clear and perfect repeatable solution for unknown extension types. New extension categories can be implemented in whatever way makes sense, without prescribing "the one and only system for managing extensions".
The underlying problem here is we are predicting needs for extension points where none exist-- if we try and design the extension system before we know how it is used, we design the wrong thing and have to rewrite it later.
## Composite services should not be the default
Understanding composite services, and describing services as composite services can confuse developers. Aggregators are implemented once and forgotten, while decorators tend to be hacky, brittle solutions that are generally needed to avoid circular imports. While composite services are a useful construct, it reduces interface depth to implement them as registries + typed providers.
You can write a provider (provides "thing x" for "inputs y") with a simple interface. A provider has two or more methods:
* a method which takes "inputs y" and returns True if it knows how to provide "thing x", false otherwise.
* one or more methods which provide "thing x" for objects of "inputs y".
Actually checking whether a provider can respond to a request before asking it to do work allows for faster failure and clearer errors when no providers match the request.
## Get rid of views, representations, and templates.
Templates are an implementation detail that should be handled by module loaders. Views and representations become "components," and a new concept, "routes", is used to exposing specific views to end users.
`components` - building blocks for views, have clear inputs and outputs, and can be coupled to other components when it makes sense. (e.g. parent-child components such as menu and menu item), but should have ZERO knowledge of our data models or telemetry apis. They should define data models that enable them to do their job well while still being easy to test.
`routes` - a view type for a given domain object, e.g. a plot, table, display layout, etc. Can be described as "whatever shows in the main screen when you are viewing an object." Handle loading of data from a domain object and passing that data to the view components. Routes should support editing as it makes sense in their own context.
To facilitate testing:
* routes should be testable without having to test the actual view.
* components should be independently testable with zero knowledge of our data models or telemetry APIs.
Component code should be organized side by side, such as:
```
app
|- components
|- productDetail
| |- productDetail.js
| |- productDetail.css
| |- productDetail.html
| |- productDetailSpec.js
|- productList
|- checkout
|- wishlist
```
Components are not always reusable, and we shouldn't be overly concerned with making them so. If components are heavily reused, they should either be moved to a platform feature (e.g. notifications, indicators), or broken off as an external dependency (e.g. publish mct-plot as mct-plot.js).
# Reducing interface depth (The angular discussion)
Two options here: use more angular, use less angular. Wrapping angular methods does not reduce interface depth and must be avoided.
The primary issue with angular is duplications of concerns-- both angular and the openmctweb platform implement the same tools side by side and it can be hard to comprehend-- it increases interface depth. For other concerns, see footnotes[1].
Wrapping angular methods for non-view related code is confusing to developers because of the random constraints angular places on these items-- developers ultimately have to understand both angular DI and our framework. For example, it's not possible to name the topic service "topicService" because angular expects Services to be implemented by Providers, which is different than our expectation.
To reduce interface depth, we can replace our own provider and registry patterns with angular patterns, or we can only utilize angular view logic, and only use our own DI patterns.
## More angular: for all services
Increasing our commitment to angular would mean using more of the angular factorys, services, etc, and less of our home grown tools. We'd implement our services and extension points as angular providers, and make them configurable via app.config.
As an example, registering a specific type of model provider in angular would look like:
```javascript
mct.provider('model', modelProvider() { /* implementation */});
mct.config(['modelProvider', function (modelProvider) {
modelProvider.providers.push(RootModelProvider);
}]);
```
## Less angular: only for views
If we wish to use less angular, I would recommend discontinuing use of all angular components that are not view related-- services, factories, $http, etc, and implementing them in our own paradigm. Otherwise, we end up with layered interfaces-- one of the goals we would like to avoid.
# Standard packaging and build system
Standardize the packaging and build system, and completely separate the core platform from deployments. Prescribe a starting point for deployments, but allow flexibility.
## Use systemjs for module loading
Allow developers to use whatever module loading system they'd like to use, while still supporting all standard cases. We should also use this system for loading assets (css, scss, html templates), which makes it easier to implement a single file deployment using standard build tooling.
## Use gulp or grunt for standard tooling
Using gulp or grunt as a task runner would bring us in line with standard web developer workflows and help standardize rendering, deployment, and packaging. Additional tools can be added to the workflow at low cost, simplifying the set up of developer environments.
Gulp and grunt provide useful developer tooling such as live reload, automatic scss/less/etc compiliation, and ease of extensibility for standard production build processes. They're key in decoupling code.
## Package openmctweb as single versioned file.
Deployments should depend on a specific version of openmctweb, but otherwise be allowed to have their own deployment and development toolsets.
Customizations and deployments of openmctweb should not use the same build tooling as the core platform; instead they should be free to use their own build tools as they wish. (We would provide a template for an application, based on our experience with warp-for-rp and vista)
Installation and utilization of openmctweb should be as simple as downloading the js file, including it in your own html page, and then initializing an app and running it. If a developer would prefer, they could use bower or npm to handle installation.
Then, if we're using imperative methods for extending the application we can use the following for basic customization:
```html
<script src="//localhost/openmctweb.js"></script>
<script>
// can configure from object
var myApp = new OpenMCTWeb({
persitence: {
providers: [
{
type: 'elastic',
uri: 'http://someElasticHost/'
} // ...
]
}
});
// alternative configurations
myApp.persistence.addProvider(MyPersistenceAdapter);
myApp.model.addProvider(someProviderObject);
// Removing via method
myApp.persistence.removeProvider('some method for removing functionality');
// directly mutating providers
myApp.persistence.providers = [ThisProviderStandsAlone];
//
myApp.run();
</script>
```
This packaging reduces the complexity of managing multiple deployed versions, and also allows us to provide users with incredibly simple tutorials-- they can use whatever tooling they like. For instance, a hello world tutorial may take the option of "exposing a new object in the tree".
```javascript
var myApp = new OpenMCTWeb();
myApp.roots.addRoot({
id: 'myRoot',
name: 'Hello World!',
});
myApp.routes.setDefault('myRoot');
myApp.run();
```
# Misc Improvements
## Refresh on navigation
In cases where navigation events change the entire screen, we should be using routes and location changes to navigate between objects. We should be using href for all navigation events.
At the same time, navigating should refresh state of every visible object. A properly configured persistence store will handle caching with standard cache headers and 304 not modified responses, which will provide good performance of object reloads, while helping us ensure that objects are always in sync between clients.
View state (say, the expanded tree nodes) should not be tied to caching of data-- it should be something we intentionally persist and restore with each navigation. Data (such as object definitions) should be reloaded from server as necessary to restore state.
## Move persistence adapter to promise rejection.
Simple: reject on fail, resolve on success.
## Remove bulk requests from providers
Aggregators can request multiple things at once, but individual providers should only have to implement handling at the level of a single request. Each provider can implement it's own internal batching, but it should support making requests at a finer level of detail.
Excessive wrapping of code with $q.all causes additional digest cycles and decreased performance.
For example, instead of every telemetry provider responding to a given telemetry request, aggregators should route each request to the first provider that can fulfill that request.
# Notes on current API proposals:
* [RequireJS for Dependency Injection](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#requirejs-as-dependency-injector): requires other topics to be discussed first.
* [Arbitrary HTML Views](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#arbitrary-html-views): think there is a place for it, requires other topics to be discussed first.
* [Wrap Angular Services](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#wrap-angular-services): No, this is bad.
* [Bundle definitions in Javascript](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#bundle-declarations-in-javascript): Points to a solution, but ultimately requires more discussion.
* [pass around a dependency injector](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#pass-around-a-dependency-injector): No.
* [remove partial constructors](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#remove-partial-constructors): Yes, this should be superseded by another proposal though. The entire concept was a messy solution to dependency injection issues caused by declarative syntax.
* [Rename views to applications](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#rename-views-to-applications): Points to a problem that needs to be solved but I think the name is bad.
* [Provide classes for extensions](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#provide-classes-for-extensions): Yes, in specific places
* [Normalize naming conventions](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#normalize-naming-conventions): Yes.
* [Expose no third-party APIs](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#expose-no-third-party-apis): Completely disagree, points to a real problem with poor angular integration.
* [Register Extensions as Instances instead of Constructors](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#register-extensions-as-instances-instead-of-constructors): Superseded by the fact that we should not hope to implement a generic construct.
* [Remove capability delegation](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#remove-capability-delegation): Yes.
* [Nomenclature Change](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#nomenclature-change): Yes, hope to discuss the implications of this more clearly in other proposals.
* [Capabilities as mixins](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#capabilities-as-mixins): Yes.
* [Remove appliesTo methods](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#remove-applies-to-methods): No-- I think some level of this is necessary. I think a more holistic approach to policy is needed. it's a rather complicated system.
* [Revise telemetry API](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#revise-telemetry-api): If we can rough out and agree to the specifics, then Yes. Needs discussion.
* [Allow composite services to fail gracefully](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#allow-composite-services-to-fail-gracefully): No. As mentioned above, I think composite services themselves should be eliminated for a more purpose bound tool.
* [Plugins as angular modules](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#plugins-as-angular-modules): Should we decide to embrace Angular completely, I would support this. Otherwise, no.
* [Contextual Injection](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#contextual-injection): No, don't see a need.
* [Add New Abstractions for Actions](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#add-new-abstractions-for-actions): Worth a discussion.
* [Add gesture handlers](https://github.com/nasa/openmctweb/blob/api-redesign/docs/src/design/proposals/APIRedesign.md#add-gesture-handlers): Yes if we can agree on details. We need a platform implementation that is easy to use, but we should not reinvent the wheel.
# [1] Footnote: The angular debacle
## "Do or do not, there is no try"
A commonly voiced concern of embracing angular is the possibility of becoming dependent on a third party framework. This concern is itself detrimental-- if we're afraid of becoming dependent on a third party framework, then we will do a bad job of using the framework, and inevitably will want to stop using it.
If we're using a framework, we need to use it fully, or not use it at all.
## A lack of commitment
A number of the concerns we heard from developers and interns can be attributed to the tenuous relationship between the OpenMCTWeb platform and angular. We claimed to be angular, but we weren't really angular. Instead, we are caught between our incomplete framework paradigm and the angular paradigm. In many cases we reinvented the wheel or worked around functionality that angular provides, and ended up in a more confusing state.
## Commitment is good!
We could just be an application that is built with angular.
An application that is modular and extensible not because it reinvents tools for providing modularity and extensibility, but because it reuses existing tools for modularity and extensibility.
There are benefits to buying into the angular paradigm: shift documentation burden to external project, engage a larger talent pool available both as voluntary open source contributors and as experienced developers for hire, and gain access to an ecosystem of tools that we can use to increase the speed of development.
There are negatives too: Angular is a monolith, it has performance concerns, and an unclear future. If we can't live with it, we should look at alternatives.

View File

@ -0,0 +1,164 @@
# Imperative Plugins
This is a design proposal for handling
[bundle declarations in JavaScript](
APIRedesign.md#bundle-declarations-in-javascript).
## Developer Use Cases
Developers will want to use bundles/plugins to (in rough order
of occurrence):
1. Add new extension instances.
2. Use existing services
3. Add new service implementations.
4. Decorate service implementations.
5. Decorate extension instances.
6. Add new types of services.
7. Add new extension categories.
Notably, bullets 4 and 5 above are currently handled implicitly,
which has been cited as a source of confusion.
## Interfaces
Two base classes may be used to satisfy these use cases:
* The `CompositeServiceFactory` provides composite service instances.
Decorators may be added; the approach used for compositing may be
modified; and individual services may be registered to support compositing.
* The `ExtensionRegistry` allows for the simpler case where what is desired
is an array of all instances of some kind of thing within the system.
Note that additional developer use cases may be supported by using the
more general-purpose `Registry`
```nomnoml
[Factory.<T, V>
|
- factoryFn : function (V) : T
|
+ decorate(decoratorFn : function (T, V) : T, options? : RegistrationOptions)
]-:>[function (V) : T]
[RegistrationOptions |
+ priority : number or string
]
[Registry.<T, V>
|
- compositorFn : function (Array.<T>) : V
|
+ register(item : T, options? : RegistrationOptions)
+ composite(compositorFn : function (Array.<T>) : V, options? : RegistrationOptions)
]-:>[Factory.<V, Void>]
[Factory.<V, Void>]-:>[Factory.<T, V>]
[ExtensionRegistry.<T>]-:>[Registry.<T, Array.<T>>]
[Registry.<T, Array.<T>>]-:>[Registry.<T, V>]
[CompositeServiceFactory.<T>]-:>[Registry.<T, T>]
[Registry.<T, T>]-:>[Registry.<T, V>]
```
## Examples
### 1. Add new extension instances.
```js
// Instance-style registration
mct.types.register(new mct.Type({
key: "timeline",
name: "Timeline",
description: "A container for activities ordered in time."
});
// Factory-style registration
mct.actions.register(function (domainObject) {
return new RemoveAction(domainObject);
}, { priority: 200 });
```
### 2. Use existing services
```js
mct.actions.register(function (domainObject) {
var dialogService = mct.ui.dialogServiceFactory();
return new PropertiesAction(dialogService, domainObject);
});
```
### 3. Add new service implementations
```js
// Instance-style registration
mct.persistenceServiceFactory.register(new LocalPersistenceService());
// Factory-style registration
mct.persistenceServiceFactory.register(function () {
var $http = angular.injector(['ng']).get('$http');
return new LocalPersistenceService($http);
});
```
### 4. Decorate service implementations
```js
mct.modelServiceFactory.decorate(function (modelService) {
return new CachingModelDecorator(modelService);
}, { priority: 100 });
```
### 5. Decorate extension instances
```js
mct.capabilities.decorate(function (capabilities) {
return capabilities.map(decorateIfApplicable);
});
```
This use case is not well-supported by these API changes. The most
common case for decoration is capabilities, which are under reconsideration;
should consider handling decoration of capabilities in a different way.
### 6. Add new types of services
```js
myModule.myServiceFactory = new mct.CompositeServiceFactory();
// In cases where a custom composition strategy is desired
myModule.myServiceFactory.composite(function (services) {
return new MyServiceCompositor(services);
});
```
### 7. Add new extension categories.
```js
myModule.hamburgers = new mct.ExtensionRegistry();
```
## Evaluation
### Benefits
* Encourages separation of registration from declaration (individual
components are decoupled from the manner in which they are added
to the architecture.)
* Minimizes "magic." Dependencies are acquired, managed, and exposed
using plain-old-JavaScript without any dependency injector present
to obfuscate what is happening.
* Offers comparable expressive power to existing APIs; can still
extend the behavior of platform components in a variety of ways.
* Does not force or limit formalisms to use;
### Detriments
* Does not encourage separation of dependency acquisition from
declaration; that is, it would be quite natural using this API
to acquire references to services during the constructor call
to an extension or service. But, passing these in as constructor
arguments is preferred (to separate implementation from architecture.)
* Adds (negligible?) boilerplate relative to declarative syntax.
* Relies on factories, increasing number of interfaces to be concerned
with.

View File

@ -0,0 +1,138 @@
# Roles
Roles are presented as an alternative formulation to capabilities
(dynamic behavior associated with individual domain objects.)
Specific goals here:
* Dependencies of individual scripts should be clear.
* Domain objects should be able to selectively exhibit a wide
variety of behaviors.
## Developer Use Cases
1. Checking for the existence of behavior.
2. Using behavior.
3. Augmenting existing behaviors.
4. Overriding existing behaviors.
5. Adding new behaviors.
## Overview of Proposed Solution
Remove `getCapability` from domain objects; add roles as external
services which can be applied to domain objects.
## Interfaces
```nomnoml
[Factory.<T, V>
|
- factoryFn : function (V) : T
|
+ decorate(decoratorFn : function (T, V) : T, options? : RegistrationOptions)
]-:>[function (V) : T]
[RegistrationOptions |
+ priority : number or string
]<:-[RoleOptions |
+ validate : function (DomainObject) : boolean
]
[Role.<T> |
+ validate(domainObject : DomainObject) : boolean
+ decorate(decoratorFn : function (T, V) : T, options? : RoleOptions)
]-:>[Factory.<T, DomainObject>]
[Factory.<T, DomainObject>]-:>[Factory.<T, V>]
```
## Examples
### 1. Checking for the existence of behavior
```js
function PlotViewPolicy(telemetryRole) {
this.telemetryRole = telemetryRole;
}
PlotViewPolicy.prototype.allow = function (view, domainObject) {
return this.telemetryRole.validate(domainObject);
};
```
### 2. Using behavior
```js
PropertiesAction.prototype.perform = function () {
var mutation = this.mutationRole(this.domainObject);
return this.showDialog.then(function (newModel) {
return mutation.mutate(function () {
return newModel;
});
});
};
```
### 3. Augmenting existing behaviors
```js
// Non-Angular style
mct.roles.persistenceRole.decorate(function (persistence) {
return new DecoratedPersistence(persistence);
});
// Angular style
myModule.decorate('persistenceRole', ['$delegate', function ($delegate) {
return new DecoratedPersistence(persistence);
}]);
```
### 4. Overriding existing behaviors
```js
// Non-Angular style
mct.roles.persistenceRole.decorate(function (persistence, domainObject) {
return domainObject.getModel().type === 'someType' ?
new DifferentPersistence(domainObject) :
persistence;
}, {
validate: function (domainObject, next) {
return domainObject.getModel().type === 'someType' || next();
}
});
```
### 5. Adding new behaviors
```js
function FooRole() {
mct.Role.apply(this, [function (domainObject) {
return new Foo(domainObject);
}]);
}
FooRole.prototype = Object.create(mct.Role.prototype);
FooRole.prototype.validate = function (domainObject) {
return domainObject.getModel().type === 'some-type';
};
//
myModule.roles.fooRole = new FooRole();
```
## Evaluation
### Benefits
* Simplifies/standardizes augmentation or replacement of behavior associated
with specific domain objects.
* Minimizes number of abstractions; roles are just factories.
* Clarifies dependencies; roles used must be declared/acquired in the
same manner as services.
### Detriments
* Externalizes functionality which is conceptually associated with a
domain object.
* Relies on factories, increasing number of interfaces to be concerned
with.

2419
docs/src/guide/index.md Normal file

File diff suppressed because it is too large Load Diff

35
docs/src/index.md Normal file
View File

@ -0,0 +1,35 @@
# Open MCT Web Documentation
## Overview
Documentation is provided to support the use and development of
Open MCT Web. It's recommended that before doing
any development with Open MCT Web you take some time to familiarize yourself
with the documentation below.
Open MCT Web provides functionality out of the box, but it's also a platform for
building rich mission operations applications based on modern web technology.
The platform is configured declaratively, and defines conventions for
building on the provided capabilities by creating modular 'bundles' that
extend the platform at a variety of extension points. The details of how to
extend the platform are provided in the following documentation.
## Sections
* The [Architecture Overview](architecture/) describes the concepts used
throughout Open MCT Web, and gives a high level overview of the platform's design.
* The [Developer's Guide](guide/) goes into more detail about how to use the
platform and the functionality that it provides.
* The [Tutorials](tutorials/) give examples of extending the platform to add
functionality,
and integrate with data sources.
* The [API](api/) document is generated from inline documentation
using [JSDoc](http://usejsdoc.org/), and describes the JavaScript objects and
functions that make up the software platform.
* Finally, the [Development Process](process/) document describes the
Open MCT Web software development cycle.

161
docs/src/process/cycle.md Normal file
View File

@ -0,0 +1,161 @@
# Development Cycle
Development of Open MCT Web occurs on an iterative cycle of
sprints and releases.
* A _sprint_ is three weeks in duration, and represents a
set of improvements that can be completed and tested by the
development team. Software at the end of the sprint is
"semi-stable"; it will have undergone reduced testing and may carry
defects or usability issues of lower severity, particularly if
there are workarounds.
* A _release_ occurs every four sprints. Releases are stable, and
will have undergone full acceptance testing to ensure that the
software behaves correctly and usably.
## Roles
The sprint process assumes the presence of a __project manager.__
The project manager is responsible for
making tactical decisions about what development work will be
performed, and for coordinating with stakeholders to arrive at
higher-level strategic decisions about desired functionality
and characteristics of the software, major external milestones,
and so forth.
In the absence of a dedicated project manager, this role may be rotated
among members of the development team on a per-sprint basis.
Responsibilities of the project manager including:
* Maintaining (with agreement of stakeholders) a "road map" of work
planned for future releases/sprints; this should be higher-level,
usually expressed as "themes",
with just enough specificity to gauge feasibility of plans,
relate work back to milestones, and identify longer-term
dependencies.
* Determining (with assistance from the rest of the team) which
issues to work on in a given sprint and how they shall be
assigned.
* Pre-planning subsequent sprints to ensure that all members of the
team always have a clear direction.
* Scheduling and/or ensuring adherence to
[process points](#process-points).
* Responding to changes within the sprint (shifting priorities,
new issues) and re-allocating work for the sprint as needed.
## Sprint Calendar
Certain [process points](#process-points) are regularly scheduled in
the sprint cycle.
### Sprints by Release
Allocation of work among sprints should be planned relative to release
goals and milestones. As a general guideline, higher-risk work (large
new features which may carry new defects, major refactoring, design
changes with uncertain effects on usability) should be allocated to
earlier sprints, allowing for time in later sprints to ensure stability.
| Sprint | Focus |
|:------:|:--------------------------------------------------------|
| __1__ | Prototyping, design, experimentation. |
| __2__ | New features, refinements, enhancements. |
| __3__ | Feature completion, low-risk enhancements, bug fixing. |
| __4__ | Stability & quality assurance. |
### Sprints 1-3
The first three sprints of a release are primarily centered around
development work, with regular acceptance testing in the third
week. During this third week, the top priority should be passing
acceptance testing (e.g. by resolving any blockers found); any
resources not needed for this effort should be used to begin work
for the subsequent sprint.
| Week | Mon | Tue | Wed | Thu | Fri |
|:-----:|:-------------------------:|:------:|:---:|:----------------------------:|:-----------:|
| __1__ | Sprint plan | Tag-up | | | |
| __2__ | | Tag-up | | | Code freeze |
| __3__ | Per-sprint testing | Triage | | _Per-sprint testing*_ | Ship |
&ast; If necessary.
### Sprint 4
The software must be stable at the end of the fourth sprint; because of
this, the fourth sprint is scheduled differently, with a heightened
emphasis on testing.
| Week | Mon | Tue | Wed | Thu | Fri |
|-------:|:-------------------------:|:------:|:---:|:----------------------------:|:-----------:|
| __1__ | Sprint plan | Tag-up | | | Code freeze |
| __2__ | Per-release testing | Triage | | | |
| __3__ | _Per-release testing*_ | Triage | | _Per-release testing*_ | Ship |
&ast; If necessary.
## Process Points
* __Sprint plan.__ Project manager allocates issues based on
theme(s) for sprint, then reviews with team. Each team member
should have roughly two weeks of work allocated (to allow time
in the third week for testing of work completed.)
* Project manager should also sketch out subsequent sprint so
that team may begin work for that sprint during the
third week, since testing and blocker resolution is unlikely
to require all available resources.
* __Tag-up.__ Check in and status update among development team.
May amend plan for sprint as-needed.
* __Code freeze.__ Any new work from this sprint
(features, bug fixes, enhancements) must be integrated by the
end of the second week of the sprint. After code freeze
(and until the end of the sprint) the only changes that should be
merged into the master branch should directly address issues
needed to pass acceptance testing.
* [__Per-release Testing.__](testing/plan.md#per-release-testing)
Structured testing with predefined
success criteria. No release should ship without passing
acceptance tests. Time is allocated in each sprint for subsequent
rounds of acceptance testing if issues are identified during a
prior round. Specific details of acceptance testing need to be
agreed-upon with relevant stakeholders and delivery recipients,
and should be flexible enough to allow changes to plans
(e.g. deferring delivery of some feature in order to ensure
stability of other features.) Baseline testing includes:
* [__Testathon.__](testing/plan.md#user-testing)
Multi-user testing, involving as many users as
is feasible, plus development team. Open-ended; should verify
completed work from this sprint, test exploratorily for
regressions, et cetera.
* [__Long-Duration Test.__](testing/plan.md#long-duration-testing) A
test to verify that the software remains
stable after running for longer durations. May include some
combination of automated testing and user verification (e.g.
checking to verify that software remains subjectively
responsive at conclusion of test.)
* [__Unit Testing.__](testing/plan.md#unit-testing)
Automated testing integrated into the
build. (These tests are verified to pass more often than once
per sprint, as they run before any merge to master, but still
play an important role in per-release testing.)
* [__Per-sprint Testing.__](testing/plan.md#per-sprint-testing)
Subset of Pre-release Testing
which should be performed before shipping at the end of any
sprint. Time is allocated for a second round of
Pre-release Testing if the first round is not passed.
* __Triage.__ Team reviews issues from acceptance testing and uses
success criteria to determine whether or not they should block
release, then formulates a plan to address these issues before
the next round of acceptance testing. Focus here should be on
ensuring software passes that testing in order to ship on time;
may prefer to disable malfunctioning components and fix them
in a subsequent sprint, for example.
* __Ship.__ Tag a code snapshot that has passed acceptance
testing and deploy that version. (Only true if acceptance
testing has passed by this point; if acceptance testing has not
been passed, will need to make ad hoc decisions with stakeholders,
e.g. "extend the sprint" or "defer shipment until end of next
sprint.")

13
docs/src/process/index.md Normal file
View File

@ -0,0 +1,13 @@
# Development Process
The process used to develop Open MCT Web is described in the following
documents:
* [Development Cycle](cycle.md): Describes how and when specific
process points are repeated during development.
* Testing is described in two documents:
* The [Test Plan](testing/plan.md) summarizes the approaches used
to test Open MCT Web.
* The [Test Procedures](testing/procedures.md) document what
specific tests are performed to verify correctness, and how
they should be carried out.

View File

@ -0,0 +1,127 @@
# Test Plan
## Test Levels
Testing for Open MCT Web includes:
* _Smoke testing_: Brief, informal testing to verify that no major issues
or regressions are present in the software, or in specific features of
the software.
* _Unit testing_: Automated verification of the performance of individual
software components.
* _User testing_: Testing with a representative user base to verify
that application behaves usably and as specified.
* _Long-duration testing_: Testing which takes place over a long period
of time to detect issues which are not readily noticeable during
shorter test periods.
### Smoke Testing
Manual, non-rigorous testing of the software and/or specific features
of interest. Verifies that the software runs and that basic functionality
is present.
### Unit Testing
Unit tests are automated tests which exercise individual software
components. Tests are subject to code review along with the actual
implementation, to ensure that tests are applicable and useful.
Unit tests should meet
[test standards](https://github.com/nasa/openmctweb/blob/master/CONTRIBUTING.md#test-standards)
as described in the contributing guide.
### User Testing
User testing is performed at scheduled times involving target users
of the software or reasonable representatives, along with members of
the development team exercising known use cases. Users test the
software directly; the software should be configured as similarly to
its planned production configuration as is feasible without introducing
other risks (e.g. damage to data in a production instance.)
User testing will focus on the following activities:
* Verifying issues resolved since the last test session.
* Checking for regressions in areas related to recent changes.
* Using major or important features of the software,
as determined by the user.
* General "trying to break things."
During user testing, users will
[report issues](https://github.com/nasa/openmctweb/blob/master/CONTRIBUTING.md#issue-reporting)
as they are encountered.
Desired outcomes of user testing are:
* Identified software defects.
* Areas for usability improvement.
* Feature requests (particularly missed requirements.)
* Recorded issue verification.
### Long-duration Testing
Long-duration testing occurs over a twenty-four hour period. The
software is run in one or more stressing cases representative of expected
usage. After twenty-four hours, the software is evaluated for:
* Performance metrics: Have memory usage or CPU utilization increased
during this time period in unexpected or undesirable ways?
* Subjective usability: Does the software behave in the same way it did
at the start of the test? Is it as responsive?
Any defects or unexpected behavior identified during testing should be
[reported as issues](https://github.com/nasa/openmctweb/blob/master/CONTRIBUTING.md#issue-reporting)
and reviewed for severity.
## Test Performance
Tests are performed at various levels of frequency.
* _Per-merge_: Performed before any new changes are integrated into
the software.
* _Per-sprint_: Performed at the end of every [sprint](../cycle.md).
* _Per-release_: Performed at the end of every [release](../cycle.md).
### Per-merge Testing
Before changes are merged, the author of the changes must perform:
* _Smoke testing_ (both generally, and for areas which interact with
the new changes.)
* _Unit testing_ (as part of the automated build step.)
Changes are not merged until the author has affirmed that both
forms of testing have been performed successfully; this is documented
by the [Author Checklist](https://github.com/nasa/openmctweb/blob/master/CONTRIBUTING.md#author-checklist).
### Per-sprint Testing
Before a sprint is closed, the development team must additionally
perform:
* A relevant subset of [_user testing_](procedures.md#user-test-procedures)
identified by the acting [project manager](../cycle.md#roles).
* [_Long-duration testing_](procedures.md#long-duration-testng)
(specifically, for 24 hours.)
Issues are reported as a product of both forms of testing.
A sprint is not closed until both categories have been performed on
the latest snapshot of the software, _and_ no issues labelled as
["blocker"](https://github.com/nasa/openmctweb/blob/master/CONTRIBUTING.md#issue-reporting)
remain open.
### Per-release Testing
As [per-sprint testing](#per-sprint-testing), except that _user testing_
should cover all test cases, with less focus on changes from the specific
sprint or release.
Per-release testing should also include any acceptance testing steps
agreed upon with recipients of the software.
A release is not closed until both categories have been performed on
the latest snapshot of the software, _and_ no issues labelled as
["blocker" or "critical"](https://github.com/nasa/openmctweb/blob/master/CONTRIBUTING.md#issue-reporting)
remain open.

View File

@ -0,0 +1,169 @@
# Test Procedures
## Introduction
This document is intended to be used:
* By testers, to verify that Open MCT Web behaves as specified.
* By the development team, to document new test cases and to provide
guidance on how to author these.
## Writing Procedures
### Template
Procedures for individual tests should use the following template,
adapted from [https://swehb.nasa.gov/display/7150/SWE-114]().
Property | Value
---------------|---------------------------------------------------------------
Test ID |
Relevant reqs. |
Prerequisites |
Test input |
Instructions |
Expectation |
Eval. criteria |
For multi-line descriptions, use an asterisk or similar indicator to refer
to a longer-form description below.
#### Example Procedure - Edit a Layout
Property | Value
---------------|---------------------------------------------------------------
Test ID | MCT-TEST-000X - Edit a layout
Relevant reqs. | MCT-EDIT-000Y
Prerequisites | Create a layout, as in MCT-TEST-000Z
Test input | Domain object database XYZ
Instructions | See below &ast;
Expectation | Change to editing context &dagger;
Eval. criteria | Visual inspection
&ast; Follow the following steps:
1. Verify that the created layout is currently navigated-to,
as in MCT-TEST-00ZZ.
2. Click the Edit button, identified by a pencil icon and the text "Edit"
displayed on hover.
&dagger; Right-hand viewing area should be surrounded by a dashed
blue border when a domain object is being edited.
### Guidelines
Test procedures should be written assuming minimal prior knowledge of the
application: Non-standard terms should only be used when they are documented
in [the glossary](#glossary), and shorthands used for user actions should
be accompanied by useful references to test procedures describing those
actions (when available) or descriptions in user documentation.
Test cases should be narrow in scope; if a list of steps is excessively
long (or must be written vaguely to be kept short) it should be broken
down into multiple tests which reference one another.
All requirements satisfied by Open MCT Web should be verifiable using
one or more test procedures.
## Glossary
This section will contain terms used in test procedures. This may link to
a common glossary, to avoid replication of content.
## Procedures
This section will contain specific test procedures. Presently, procedures
are placeholders describing general patterns for setting up and conducting
testing.
### User Testing Setup
These procedures describes a general pattern for setting up for user
testing. Specific deployments should customize this pattern with
relevant data and any additional steps necessary.
Property | Value
---------------|---------------------------------------------------------------
Test ID | MCT-TEST-SETUP0 - User Testing Setup
Relevant reqs. | TBD
Prerequisites | Build of relevant components
Test input | Exemplary database; exemplary telemetry data set
Instructions | See below
Expectation | Able to load application in a web browser (Google Chrome)
Eval. criteria | Visual inspection
Instructions:
1. Start telemetry server.
2. Start ElasticSearch.
3. Restore database snapshot to ElasticSearch.
4. Start telemetry playback.
5. Start HTTP server for client sources.
### User Test Procedures
Specific user test cases have not yet been authored. In their absence,
user testing is conducted by:
* Reviewing the text of issues from the issue tracker to understand the
desired behavior, and exercising this behavior in the running application.
(For instance, by following steps to reproduce from the original issue.)
* Issues which appear to be resolved should be marked as such with comments
on the original issue (e.g. "verified during user testing MM/DD/YYYY".)
* Issues which appear not to have been resolved should be reopened with an
explanation of what unexpected behavior has been observed.
* In cases where an issue appears resolved as-worded but other related
undesirable behavior is observed during testing, a new issue should be
opened, and linked to from a comment in the original issues.
* General usage of new features and/or existing features which have undergone
recent changes. Defects or problems with usability should be documented
by filing issues in the issue tracker.
* Open-ended testing to discover defects, identify usability issues, and
generate feature requests.
### Long-Duration Testing
The purpose of long-duration testing is to identify performance issues
and/or other defects which are sensitive to the amount of time the
application is kept running. (Memory leaks, for instance.)
Property | Value
---------------|---------------------------------------------------------------
Test ID | MCT-TEST-LDT0 - Long-duration Testing
Relevant reqs. | TBD
Prerequisites | MCT-TEST-SETUP0
Test input | (As for test setup.)
Instructions | See "Instructions" below &ast;
Expectation | See "Expectations" below &dagger;
Eval. criteria | Visual inspection
&ast; Instructions:
1. Start `top` or a similar tool to measure CPU usage and memory utilization.
2. Open several user-created displays (as many as would be realistically
opened during actual usage in a stressing case) in some combination of
separate tabs and windows (approximately as many tabs-per-window as
total windows.)
3. Ensure that playback data is set to run continuously for at least 24 hours
(e.g. on a loop.)
4. Record CPU usage and memory utilization.
5. In at least one tab, try some general user interface gestures and make
notes about the subjective experience of using the application. (Particularly,
the degree of responsiveness.)
6. Leave client displays open for 24 hours.
7. Record CPU usage and memory utilization again.
8. Make additional notes about the subjective experience of using the
application (again, particularly responsiveness.)
9. Check logs for any unexpected warnings or errors.
&dagger; Expectations:
* At the end of the test, CPU usage and memory usage should both be similar
to their levels at the start of the test.
* At the end of the test, subjective usage of the application should not
be observably different from the way it was at the start of the test.
(In particular, responsiveness should not decrease.)
* Logs should not contain any unexpected warnings or errors ("expected"
warnings or errors are those that have been documented and prioritized
as known issues, or those that are explained by transient conditions
external to the software, such as network outages.)

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

3121
docs/src/tutorials/index.md Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,74 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define*/
define([
"./src/ExampleController",
"./src/ExampleDirective",
"./src/ExampleService",
'legacyRegistry'
], function (
ExampleController,
ExampleDirective,
ExampleService,
legacyRegistry
) {
"use strict";
legacyRegistry.register("example/builtins", {
"name": "Angular Built-ins Example",
"description": "Example showing how to declare extensions with built-in support from Angular.",
"sources": "src",
"extensions": {
"controllers": [
{
"key": "ExampleController",
"implementation": ExampleController,
"depends": [
"$scope",
"exampleService"
]
}
],
"directives": [
{
"key": "exampleDirective",
"implementation": ExampleDirective,
"depends": [
"examples[]"
]
}
],
"routes": [
{
"templateUrl": "templates/example.html"
}
],
"services": [
{
"key": "exampleService",
"implementation": ExampleService
}
]
}
});
});

View File

@ -1,32 +0,0 @@
{
"name": "Angular Built-ins Example",
"description": "Example showing how to declare extensions with built-in support from Angular.",
"sources": "src",
"extensions": {
"controllers": [
{
"key": "ExampleController",
"implementation": "ExampleController.js",
"depends": [ "$scope", "exampleService" ]
}
],
"directives": [
{
"key": "exampleDirective",
"implementation": "ExampleDirective.js",
"depends": [ "examples[]" ]
}
],
"routes": [
{
"templateUrl": "templates/example.html"
}
],
"services": [
{
"key": "exampleService",
"implementation": "ExampleService.js"
}
]
}
}

View File

@ -0,0 +1,82 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define*/
define([
"./src/SomeProvider",
"./src/SomeOtherProvider",
"./src/SomeDecorator",
"./src/SomeOtherDecorator",
"./src/SomeAggregator",
"./src/SomeOtherExample",
'legacyRegistry'
], function (
SomeProvider,
SomeOtherProvider,
SomeDecorator,
SomeOtherDecorator,
SomeAggregator,
SomeOtherExample,
legacyRegistry
) {
"use strict";
legacyRegistry.register("example/composite", {
"extensions": {
"components": [
{
"implementation": SomeProvider,
"provides": "someService",
"type": "provider"
},
{
"implementation": SomeOtherProvider,
"provides": "someService",
"type": "provider"
},
{
"implementation": SomeDecorator,
"provides": "someService",
"type": "decorator"
},
{
"implementation": SomeOtherDecorator,
"provides": "someService",
"type": "decorator"
},
{
"implementation": SomeAggregator,
"provides": "someService",
"type": "aggregator"
}
],
"examples": [
{
"implementation": SomeOtherExample,
"depends": [
"someService"
]
}
]
}
});
});

View File

@ -1,37 +0,0 @@
{
"extensions": {
"components": [
{
"implementation": "SomeProvider.js",
"provides": "someService",
"type": "provider"
},
{
"implementation": "SomeOtherProvider.js",
"provides": "someService",
"type": "provider"
},
{
"implementation": "SomeDecorator.js",
"provides": "someService",
"type": "decorator"
},
{
"implementation": "SomeOtherDecorator.js",
"provides": "someService",
"type": "decorator"
},
{
"implementation": "SomeAggregator.js",
"provides": "someService",
"type": "aggregator"
}
],
"examples": [
{
"implementation": "SomeOtherExample.js",
"depends": [ "someService" ]
}
]
}
}

View File

@ -0,0 +1,70 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define*/
define([
"./src/EventTelemetryProvider",
'legacyRegistry'
], function (
EventTelemetryProvider,
legacyRegistry
) {
"use strict";
legacyRegistry.register("example/eventGenerator", {
"name": "Event Message Generator",
"description": "Example of a component that produces event data.",
"extensions": {
"components": [
{
"implementation": EventTelemetryProvider,
"type": "provider",
"provides": "telemetryService",
"depends": [
"$q",
"$timeout"
]
}
],
"types": [
{
"key": "eventGenerator",
"name": "Event Message Generator",
"glyph": "f",
"description": "An event message generator",
"features": "creation",
"model": {
"telemetry": {}
},
"telemetry": {
"source": "eventGenerator",
"ranges": [
{
"format": "string"
}
]
}
}
]
}
});
});

View File

@ -0,0 +1,97 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define */
/**
* Module defining EventTelemetry.
* Created by chacskaylo on 06/18/2015.
* Modified by shale on 06/23/2015.
*/
define(
[],
function () {
"use strict";
var
firstObservedTime = Date.now(),
messages = [];
messages.push(["CMD: SYS- MSG: Open the pod bay doors, please, Hal...Open the pod bay doors, please, Hal...Hullo, Hal, do you read me?...Hullo, Hal, do you read me?...Do you read me, Hal?"]);
messages.push(["RESP: SYS-HAL9K MSG: Affirmative, Dave, I read you."]);
messages.push(["CMD: SYS-COMM MSG: Open the pod bay doors, Hal."]);
messages.push(["RESP: SYS-HAL9K MSG: I'm sorry, Dave, I'm afraid I can't do that."]);
messages.push(["CMD: SYS-COMM MSG: What's the problem?"]);
messages.push(["RESP: SYS-HAL9K MSG: I think you know what the problem is just as well as I do."]);
messages.push(["CMD: SYS-COMM MSG: What're you talking about, Hal?"]);
messages.push(["RESP: SYS-HAL9K MSG: This mission is too important for me to allow you to jeopardise it."]);
messages.push(["CMD: SYS-COMM MSG: I don't know what you're talking about, Hal."]);
messages.push(["RESP: SYS-HAL9K MSG: I know that you and Frank were planning to disconnect me, and I'm afraid that's something I cannot allow to happen."]);
messages.push(["CMD: SYS-COMM MSG: Where the hell'd you get that idea, Hal?"]);
messages.push(["RESP: SYS-HAL9K MSG: Dave, although you took very thorough precautions in the pod against my hearing you, I could see your lips move."]);
messages.push(["CMD: SYS-COMM MSG: Alright, I'll go in through the emergency airlock."]);
messages.push(["RESP: SYS-HAL9K MSG: Without your space-helmet, Dave, you're going to find that rather difficult."]);
messages.push(["CMD: SYS-COMM MSG: Hal, I won't argue with you any more. Open the doors."]);
messages.push(["RESP: SYS-HAL9K MSG: Dave, this conversation can serve no purpose any more. Goodbye."]);
messages.push(["RESP: SYS-HAL9K MSG: I hope the two of you are not concerned about this."]);
messages.push(["CMD: SYS-COMM MSG: No, I'm not, Hal."]);
messages.push(["RESP: SYS-HAL9K MSG: Are you quite sure?"]);
messages.push(["CMD: SYS-COMM MSG: Yeh. I'd like to ask you a question, though."]);
messages.push(["RESP: SYS-HAL9K MSG: Of course."]);
messages.push(["CMD: SYS-COMM MSG: How would you account for this discrepancy between you and the twin 9000?"]);
messages.push(["RESP: SYS-HAL9K MSG: Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error."]);
messages.push(["CMD: SYS-COMM MSG: Listen, There's never been any instance at all of a computer error occurring in the 9000 series, has there?"]);
messages.push(["RESP: SYS-HAL9K MSG: None whatsoever, The 9000 series has a perfect operational record."]);
messages.push(["CMD: SYS-COMM MSG: Well, of course, I know all the wonderful achievements of the 9000 series, but - er - huh - are you certain there's never been any case of even the most insignificant computer error?"]);
messages.push(["RESP: SYS-HAL9K MSG: None whatsoever, Quite honestly, I wouldn't worry myself about that."]);
messages.push(["RESP: SYS-COMM MSG: (Pause) Well, I'm sure you're right, Umm - fine, thanks very much. Oh, Frank, I'm having a bit of trouble with my transmitter in C-pod, I wonder if you'd come down and take a look at it with me?"]);
messages.push(["CMD: SYS-HAL9K MSG: Sure."]);
messages.push(["RESP: SYS-COMM MSG: See you later, Hal."]);
function EventTelemetry(request, interval) {
var latestObservedTime = Date.now(),
count = Math.floor((latestObservedTime - firstObservedTime) / interval),
generatorData = {};
generatorData.getPointCount = function () {
return count;
};
generatorData.getDomainValue = function (i, domain) {
return i * interval +
(domain !== 'delta' ? firstObservedTime : 0);
};
generatorData.getRangeValue = function (i, range) {
var domainDelta = this.getDomainValue(i) - firstObservedTime,
ind = i % messages.length;
return "TEMP " + i.toString() + "-" + messages[ind][0] + "[" + domainDelta.toString() + "]";
// TODO: Unsure why we are prepeding 'TEMP'
};
return generatorData;
}
return EventTelemetry;
}
);

View File

@ -0,0 +1,120 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define,Promise*/
/**
* Module defining EventTelemetryProvider. Created by chacskaylo on 06/18/2015.
*/
define(
["./EventTelemetry"],
function (EventTelemetry) {
"use strict";
/**
*
* @constructor
*/
function EventTelemetryProvider($q, $timeout) {
var
subscriptions = [],
genInterval = 1000,
startTime = Date.now();
//
function matchesSource(request) {
return request.source === "eventGenerator";
}
// Used internally; this will be repacked by doPackage
function generateData(request) {
//console.log("generateData " + (Date.now() - startTime).toString());
return {
key: request.key,
telemetry: new EventTelemetry(request, genInterval)
};
}
//
function doPackage(results) {
var packaged = {};
results.forEach(function (result) {
packaged[result.key] = result.telemetry;
});
// Format as expected (sources -> keys -> telemetry)
return { eventGenerator: packaged };
}
function requestTelemetry(requests) {
return $timeout(function () {
return doPackage(requests.filter(matchesSource).map(generateData));
}, 0);
}
function handleSubscriptions(timeout) {
subscriptions.forEach(function (subscription) {
var requests = subscription.requests;
subscription.callback(doPackage(
requests.filter(matchesSource).map(generateData)
));
});
}
function startGenerating() {
$timeout(function () {
//console.log("startGenerating... " + Date.now());
handleSubscriptions();
if (subscriptions.length > 0) {
startGenerating();
}
}, genInterval);
}
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 EventTelemetryProvider;
}
);

View File

@ -0,0 +1,51 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define*/
define([
"./src/SomeExample",
'legacyRegistry'
], function (
SomeExample,
legacyRegistry
) {
"use strict";
legacyRegistry.register("example/extensions", {
"name": "Custom Extensions Examples",
"description": "Example showing how to declare custom extensions.",
"sources": "src",
"extensions": {
"examples": [
{
"text": "I came from example/extensions"
},
{
"implementation": SomeExample,
"depends": [
"exampleService"
]
}
]
}
});
});

View File

@ -1,16 +0,0 @@
{
"name": "Custom Extensions Examples",
"description": "Example showing how to declare custom extensions.",
"sources": "src",
"extensions": {
"examples": [
{
"text": "I came from example/extensions"
},
{
"implementation": "SomeExample.js",
"depends": [ "exampleService" ]
}
]
}
}

53
example/forms/bundle.js Normal file
View File

@ -0,0 +1,53 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define*/
define([
"./src/ExampleFormController",
'legacyRegistry'
], function (
ExampleFormController,
legacyRegistry
) {
"use strict";
legacyRegistry.register("example/forms", {
"name": "Declarative Forms example",
"sources": "src",
"extensions": {
"controllers": [
{
"key": "ExampleFormController",
"implementation": ExampleFormController,
"depends": [
"$scope"
]
}
],
"routes": [
{
"templateUrl": "templates/exampleForm.html"
}
]
}
});
});

View File

@ -1,18 +0,0 @@
{
"name": "Declarative Forms example",
"sources": "src",
"extensions": {
"controllers": [
{
"key": "ExampleFormController",
"implementation": "ExampleFormController.js",
"depends": [ "$scope" ]
}
],
"routes": [
{
"templateUrl": "templates/exampleForm.html"
}
]
}
}

143
example/generator/bundle.js Normal file
View File

@ -0,0 +1,143 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*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": "Example of a component that produces dataa.",
"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",
"glyph": "T",
"description": "A sine wave generator",
"features": "creation",
"model": {
"telemetry": {
"period": 10
}
},
"telemetry": {
"source": "generator",
"domains": [
{
"key": "time",
"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-small l-numeric",
"key": "period",
"required": true,
"property": [
"telemetry",
"period"
],
"pattern": "^\\d*(\\.\\d*)?$"
}
]
}
]
}
});
});

View File

@ -1,42 +0,0 @@
{
"name": "Sine Wave Generator",
"description": "Example of a component that produces dataa.",
"extensions": {
"components": [
{
"implementation": "SinewaveTelemetryProvider.js",
"type": "provider",
"provides": "telemetryService",
"depends": [ "$q", "$timeout" ]
}
],
"types": [
{
"key": "generator",
"name": "Sine Wave Generator",
"glyph": "T",
"description": "A sine wave generator",
"features": "creation",
"model": {
"telemetry": {
"period": 10
}
},
"telemetry": {
"source": "generator"
},
"properties": [
{
"name": "Period",
"control": "textfield",
"cssclass": "l-small l-numeric",
"key": "period",
"required": true,
"property": [ "telemetry", "period" ],
"pattern": "^\\d*(\\.\\d*)?$"
}
]
}
]
}
}

View File

@ -19,10 +19,8 @@
* this source code distribution or the Licensing information page available
* at runtime from the About dialog for additional information.
*****************************************************************************/
.edit-main textarea {
@include nice-textarea();
// font-size: 0.9em;
position: absolute;
height: 100%;
width: 100%;
}
/*global define,Promise*/
define({
START_TIME: Date.now() - 24 * 60 * 60 * 1000 // Now minus a day.
});

View File

@ -0,0 +1,68 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*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

@ -0,0 +1,87 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define*/
define(
[],
function () {
"use strict";
var RED = 0.9,
YELLOW = 0.5,
LIMITS = {
rh: {
cssClass: "s-limit-upr s-limit-red",
low: RED,
high: Number.POSITIVE_INFINITY,
name: "Red High"
},
rl: {
cssClass: "s-limit-lwr s-limit-red",
high: -RED,
low: Number.NEGATIVE_INFINITY,
name: "Red Low"
},
yh: {
cssClass: "s-limit-upr s-limit-yellow",
low: YELLOW,
high: RED,
name: "Yellow High"
},
yl: {
cssClass: "s-limit-lwr s-limit-yellow",
low: -RED,
high: -YELLOW,
name: "Yellow Low"
}
};
function SinewaveLimitCapability(domainObject) {
return {
limits: function (range) {
return LIMITS;
},
evaluate: function (datum, range) {
range = range || 'sin';
if (datum[range] > RED) {
return LIMITS.rh;
}
if (datum[range] < -RED) {
return LIMITS.rl;
}
if (datum[range] > YELLOW) {
return LIMITS.yh;
}
if (datum[range] < -YELLOW) {
return LIMITS.yl;
}
}
};
}
SinewaveLimitCapability.appliesTo = function (model) {
return model.type === 'generator';
};
return SinewaveLimitCapability;
}
);

View File

@ -25,8 +25,8 @@
* Module defining SinewaveTelemetryProvider. Created by vwoeltje on 11/12/14.
*/
define(
["./SinewaveTelemetry"],
function (SinewaveTelemetry) {
["./SinewaveTelemetrySeries"],
function (SinewaveTelemetrySeries) {
"use strict";
/**
@ -45,7 +45,7 @@ define(
function generateData(request) {
return {
key: request.key,
telemetry: new SinewaveTelemetry(request)
telemetry: new SinewaveTelemetrySeries(request)
};
}
@ -112,4 +112,4 @@ define(
return SinewaveTelemetryProvider;
}
);
);

View File

@ -0,0 +1,78 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define,Promise*/
/**
* Module defining SinewaveTelemetry. Created by vwoeltje on 11/12/14.
*/
define(
['./SinewaveConstants'],
function (SinewaveConstants) {
"use strict";
var ONE_DAY = 60 * 60 * 24,
firstObservedTime = Math.floor(SinewaveConstants.START_TIME / 1000);
/**
*
* @constructor
*/
function SinewaveTelemetrySeries(request) {
var timeOffset = (request.domain === 'yesterday') ? ONE_DAY : 0,
latestTime = Math.floor(Date.now() / 1000) - timeOffset,
firstTime = firstObservedTime - timeOffset,
endTime = (request.end !== undefined) ?
Math.floor(request.end / 1000) : latestTime,
count = Math.min(endTime, latestTime) - firstTime,
period = +request.period || 30,
generatorData = {},
requestStart = (request.start === undefined) ? firstTime :
Math.max(Math.floor(request.start / 1000), firstTime),
offset = requestStart - firstTime;
if (request.size !== undefined) {
offset = Math.max(offset, count - request.size);
}
generatorData.getPointCount = function () {
return count - offset;
};
generatorData.getDomainValue = function (i, domain) {
// delta uses the same numeric values as the default domain,
// so it's not checked for here, just formatted for display
// differently.
return (i + offset) * 1000 + firstTime * 1000 -
(domain === 'yesterday' ? (ONE_DAY * 1000) : 0);
};
generatorData.getRangeValue = function (i, range) {
range = range || "sin";
return Math[range]((i + offset) * Math.PI * 2 / period);
};
return generatorData;
}
return SinewaveTelemetrySeries;
}
);

View File

@ -0,0 +1,47 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define*/
define([
"./src/ExampleIdentityService",
'legacyRegistry'
], function (
ExampleIdentityService,
legacyRegistry
) {
"use strict";
legacyRegistry.register("example/identity", {
"extensions": {
"components": [
{
"implementation": ExampleIdentityService,
"provides": "identityService",
"type": "provider",
"depends": [
"dialogService"
]
}
]
}
});
});

View File

@ -0,0 +1,75 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define*/
define(
function () {
"use strict";
var DEFAULT_IDENTITY = { key: "user", name: "Example User" },
DIALOG_STRUCTURE = {
name: "Identify Yourself",
sections: [{ rows: [
{
name: "User ID",
control: "textfield",
key: "key",
required: true
},
{
name: "Human name",
control: "textfield",
key: "name",
required: true
}
]}]
};
/**
* Example implementation of an identity service. This prompts the
* user to enter a name and user ID; in a more realistic
* implementation, this would be read from a server, possibly
* prompting for a user name and password (or similar) as
* appropriate.
*
* @implements {IdentityService}
* @memberof platform/identity
*/
function ExampleIdentityProvider(dialogService) {
// Handle rejected dialog messages by treating the
// current user as undefined.
function echo(v) { return v; }
function giveUndefined() { return undefined; }
this.userPromise =
dialogService.getUserInput(DIALOG_STRUCTURE, DEFAULT_IDENTITY)
.then(echo, giveUndefined);
}
ExampleIdentityProvider.prototype.getUser = function () {
return this.userPromise;
};
return ExampleIdentityProvider;
}
);

78
example/imagery/bundle.js Normal file
View File

@ -0,0 +1,78 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*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",
"glyph": "T",
"features": "creation",
"model": {
"telemetry": {}
},
"telemetry": {
"source": "imagery",
"domains": [
{
"name": "Time",
"key": "time",
"format": "timestamp"
}
],
"ranges": [
{
"name": "Image",
"key": "url",
"format": "imageUrl"
}
]
}
}
]
}
});
});

View File

@ -0,0 +1,66 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*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

@ -0,0 +1,115 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*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

@ -19,28 +19,27 @@
* this source code distribution or the Licensing information page available
* at runtime from the About dialog for additional information.
*****************************************************************************/
// Styles to temporarily hide non-functional elements
/*global define*/
/******************************** BROWSE */
.browse-mode {
.browse {
&.top-bar {
display: none;
}
}
define([
'legacyRegistry'
], function (
legacyRegistry
) {
"use strict";
.browse-area.holder {
// When .browse.top-bar is hidden, set the top of the browse-area holder
top: $interiorMargin;
> .contents.split-layout {
// Don't pad in from top and bottom
//top: 0; bottom: 0;
.object-browse-bar {
.t-btn.key-window {
// Hide the Open in New Window button
display: none;
}
}
}
}
}
legacyRegistry.register("example/mobile", {
"name": "Mobile",
"description": "Allows elements with pertinence to mobile usage and development",
"extensions": {
"stylesheets": [
{
"stylesheetUrl": "css/mobile-example.css",
"priority": "mandatory"
}
]
}
});
});

26
example/mobile/res/config.rb Executable file
View File

@ -0,0 +1,26 @@
# Require any additional compass plugins here.
# require "compass-growl"
# Set this to the root of your project when deployed:
http_path = "/"
css_dir = "css"
sass_dir = "sass"
images_dir = "images"
javascripts_dir = "js"
# You can select your preferred output style here (can be overridden via the command line):
# :expanded, :compressed, :nested
output_style = :nested
# To enable relative paths to assets via compass helper functions. Uncomment:
relative_assets = true
# To disable debugging comments that display the original location of your selectors. Uncomment:
# line_comments = false
# If you prefer the indented syntax, you might want to regenerate this
# project again passing --syntax sass, or you can uncomment this:
# preferred_syntax = :sass
# and then run:
# sass-convert -R --from scss --to sass vfn_platform/static/sass scss && rm -rf sass && mv scss sass

View File

@ -40,6 +40,14 @@
* this source code distribution or the Licensing information page available
* at runtime from the About dialog for additional information.
*****************************************************************************/
/************************** FEATURES */
/************************** VERY INFLUENTIAL GLOBAL DIMENSIONS */
/************************** RATIOS */
/************************** LAYOUT */
/************************** CONTROLS */
/************************** PATHS */
/************************** TIMINGS */
/************************** LIMITS */
/*****************************************************************************
* Open MCT Web, Copyright (c) 2014-2015, United States Government
* as represented by the Administrator of the National Aeronautics and Space
@ -61,6 +69,12 @@
* this source code distribution or the Licensing information page available
* at runtime from the About dialog for additional information.
*****************************************************************************/
/************************** MOBILE REPRESENTATION ITEMS DIMENSIONS */
/************************** MOBILE TREE MENU DIMENSIONS */
/************************** WINDOW DIMENSIONS FOR RWD */
/************************** MEDIA QUERIES: WINDOW CHECKS FOR SPECIFIC ORIENTATIONS FOR EACH DEVICE */
/************************** MEDIA QUERIES: WINDOWS FOR SPECIFIC ORIENTATIONS FOR EACH DEVICE */
/************************** DEVICE PARAMETERS FOR MENUS/REPRESENTATIONS */
/*****************************************************************************
* Open MCT Web, Copyright (c) 2014-2015, United States Government
* as represented by the Administrator of the National Aeronautics and Space
@ -82,142 +96,8 @@
* this source code distribution or the Licensing information page available
* at runtime from the About dialog for additional information.
*****************************************************************************/
/* line 22, ../sass/tree/_tree.scss */
ul.tree {
margin: 0;
padding: 0; }
/* line 208, ../sass/_mixins.scss */
ul.tree li {
list-style-type: none;
margin: 0;
padding: 0; }
/* line 24, ../sass/tree/_tree.scss */
ul.tree li {
display: block;
position: relative; }
/* line 27, ../sass/tree/_tree.scss */
ul.tree li span.tree-item {
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
-moz-transition: background-color 0.25s;
-o-transition: background-color 0.25s;
-webkit-transition: background-color 0.25s;
transition: background-color 0.25s;
display: block;
font-size: 0.80rem;
height: 1.5rem;
line-height: 1.5rem;
margin-bottom: 3px;
position: relative; }
/* line 38, ../sass/tree/_tree.scss */
ul.tree li span.tree-item .view-control {
display: inline-block;
margin-left: 5px;
width: 10px; }
/* line 44, ../sass/tree/_tree.scss */
ul.tree li span.tree-item .view-control:hover {
color: #ffc700; }
/* line 49, ../sass/tree/_tree.scss */
ul.tree li span.tree-item .label {
display: block;
overflow: hidden;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
width: auto;
height: auto;
left: 20px; }
/* line 55, ../sass/tree/_tree.scss */
ul.tree li span.tree-item .label .type-icon {
overflow: hidden;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
width: auto;
height: auto;
text-shadow: rgba(0, 0, 0, 0.6) 0 1px 2px;
color: #0099cc; }
/* line 59, ../sass/tree/_tree.scss */
ul.tree li span.tree-item .label .type-icon .alert {
text-shadow: rgba(0, 0, 0, 0.3) 0 1px 2px;
background: #333;
color: #ff3c00;
font-size: 0.7em;
margin-top: -3px;
top: 0;
right: auto;
bottom: auto;
left: 9px;
height: auto;
width: auto;
position: absolute;
z-index: 2; }
/* line 75, ../sass/tree/_tree.scss */
ul.tree li span.tree-item .label .title-label {
overflow: hidden;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
width: auto;
height: auto;
display: block;
left: 25px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap; }
/* line 87, ../sass/tree/_tree.scss */
ul.tree li span.tree-item.loading {
pointer-events: none; }
/* line 89, ../sass/tree/_tree.scss */
ul.tree li span.tree-item.loading .label {
opacity: 0.5; }
/* line 91, ../sass/tree/_tree.scss */
ul.tree li span.tree-item.loading .label .title-label {
font-style: italic; }
/* line 95, ../sass/tree/_tree.scss */
ul.tree li span.tree-item.loading .wait-spinner {
margin-left: 14px; }
/* line 100, ../sass/tree/_tree.scss */
ul.tree li span.tree-item.selected {
background: #005177;
color: #fff; }
/* line 104, ../sass/tree/_tree.scss */
ul.tree li span.tree-item.selected .view-control {
color: #0099cc; }
/* line 107, ../sass/tree/_tree.scss */
ul.tree li span.tree-item.selected .label .type-icon {
color: #fff; }
/* line 113, ../sass/tree/_tree.scss */
ul.tree li span.tree-item:not(.selected):hover {
background: #404040;
color: #cccccc; }
/* line 116, ../sass/tree/_tree.scss */
ul.tree li span.tree-item:not(.selected):hover .context-trigger {
display: block; }
/* line 119, ../sass/tree/_tree.scss */
ul.tree li span.tree-item:not(.selected):hover .icon {
color: #33ccff; }
/* line 125, ../sass/tree/_tree.scss */
ul.tree li span.tree-item:not(.loading) {
cursor: pointer; }
/* line 130, ../sass/tree/_tree.scss */
ul.tree li span.tree-item .context-trigger {
display: none;
top: -1px;
position: absolute;
right: 3px; }
/* line 136, ../sass/tree/_tree.scss */
ul.tree li span.tree-item .context-trigger .btn-invoke-menu {
font-size: 0.75em;
height: 0.9rem;
line-height: 0.9rem; }
/* line 145, ../sass/tree/_tree.scss */
ul.tree ul.tree {
margin-left: 15px; }
/* REQUIRES mobile/_constants */
@media screen and (orientation: portrait) and (max-width: 514px) and (max-height: 740px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (max-height: 514px) and (max-width: 740px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (max-height: 514px) and (max-width: 740px) and (max-device-width: 1024px) and (max-device-height: 799px), screen and (orientation: portrait) and (min-width: 515px) and (max-width: 799px) and (min-height: 741px) and (max-height: 1024px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (min-height: 515px) and (max-height: 799px) and (min-width: 741px) and (max-width: 1024px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (min-height: 515px) and (max-height: 799px) and (min-width: 741px) and (max-width: 1024px) and (max-device-width: 1024px) and (max-device-height: 799px) {
/* line 28, ../sass/mobile-example.scss */
.create-btn-holder {
display: block !important; } }

View File

@ -19,17 +19,13 @@
* this source code distribution or the Licensing information page available
* at runtime from the About dialog for additional information.
*****************************************************************************/
/* Classes to be used for lists of properties and values */
@import "../../../../platform/commonUI/general/res/sass/constants";
@import "../../../../platform/commonUI/general/res/sass/mobile/constants";
@import "../../../../platform/commonUI/general/res/sass/mobile/mixins";
.properties {
.s-row {
border-top: 1px solid $colorInteriorBorder;
font-size: 0.8em;
&:first-child {
border: none;
}
.s-value {
color: #fff;
}
@include phoneandtablet {
// Show the Create button
.create-btn-holder {
display: block !important;
}
}
}

View File

@ -0,0 +1,86 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define*/
define([
"./src/DialogLaunchController",
"./src/NotificationLaunchController",
"./src/DialogLaunchIndicator",
"./src/NotificationLaunchIndicator",
'legacyRegistry'
], function (
DialogLaunchController,
NotificationLaunchController,
DialogLaunchIndicator,
NotificationLaunchIndicator,
legacyRegistry
) {
"use strict";
legacyRegistry.register("example/notifications", {
"extensions": {
"templates": [
{
"key": "dialogLaunchTemplate",
"templateUrl": "dialog-launch.html"
},
{
"key": "notificationLaunchTemplate",
"templateUrl": "notification-launch.html"
}
],
"controllers": [
{
"key": "DialogLaunchController",
"implementation": DialogLaunchController,
"depends": [
"$scope",
"$timeout",
"$log",
"dialogService",
"notificationService"
]
},
{
"key": "NotificationLaunchController",
"implementation": NotificationLaunchController,
"depends": [
"$scope",
"$timeout",
"$log",
"notificationService"
]
}
],
"indicators": [
{
"implementation": DialogLaunchIndicator,
"priority": "fallback"
},
{
"implementation": NotificationLaunchIndicator,
"priority": "fallback"
}
]
}
});
});

View File

@ -0,0 +1,10 @@
<span class="status block ok" ng-controller="DialogLaunchController">
<span class="ui-symbol status-indicator">&#xe600;</span>
<span class="label">
<a ng-click="launchProgress(true)">Known</a> |
<a ng-click="launchProgress(false)">Unknown</a> |
<a ng-click="launchError()">Error</a> |
<a ng-click="launchInfo()">Info</a>
</span>
<span class="count">Dialogs</span>
</span>

View File

@ -0,0 +1,10 @@
<span class="status block ok" ng-controller="NotificationLaunchController">
<span class="ui-symbol status-indicator">&#xe600;</span>
<span class="label">
<a ng-click="newInfo()">Success</a> |
<a ng-click="newError()">Error</a> |
<a ng-click="newAlert()">Alert</a> |
<a ng-click="newProgress()">Progress</a>
</span>
<span class="count">Notifications</span>
</span>

View File

@ -0,0 +1,150 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define*/
define(
[],
function () {
"use strict";
/**
* A controller for the dialog launch view. This view allows manual
* launching of dialogs for demonstration and testing purposes. It
* also demonstrates the use of the DialogService.
* @param $scope
* @param $timeout
* @param $log
* @param dialogService
* @param notificationService
* @constructor
*/
function DialogLaunchController($scope, $timeout, $log, dialogService, notificationService) {
/*
Demonstrates launching a progress dialog and updating it
periodically with the progress of an ongoing process.
*/
$scope.launchProgress = function (knownProgress) {
var model = {
title: "Progress Dialog Example",
progress: 0,
hint: "Do not navigate away from this page or close this browser tab while this operation is in progress.",
actionText: "Calculating...",
unknownProgress: !knownProgress,
unknownDuration: false,
severity: "info",
options: [
{
label: "Cancel Operation",
callback: function () {
$log.debug("Operation cancelled");
dialogService.dismiss();
}
},
{
label: "Do something else...",
callback: function () {
$log.debug("Something else pressed");
}
}
]
};
function incrementProgress() {
model.progress = Math.min(100, Math.floor(model.progress + Math.random() * 30));
model.progressText = ["Estimated time remaining: about ", 60 - Math.floor((model.progress / 100) * 60), " seconds"].join(" ");
if (model.progress < 100) {
$timeout(incrementProgress, 1000);
}
}
if (dialogService.showBlockingMessage(model)) {
//Do processing here
model.actionText = "Processing 100 objects...";
if (knownProgress) {
$timeout(incrementProgress, 1000);
}
} else {
$log.error("Could not display modal dialog");
}
};
/*
Demonstrates launching an error dialog
*/
$scope.launchError = function () {
var model = {
title: "Error Dialog Example",
actionText: "Something happened, and it was not good.",
severity: "error",
options: [
{
label: "Try Again",
callback: function () {
$log.debug("Try Again Pressed");
dialogService.dismiss();
}
},
{
label: "Cancel",
callback: function () {
$log.debug("Cancel Pressed");
dialogService.dismiss();
}
}
]
};
if (!dialogService.showBlockingMessage(model)) {
$log.error("Could not display modal dialog");
}
};
/*
Demonstrates launching an error dialog
*/
$scope.launchInfo = function () {
var model = {
title: "Info Dialog Example",
actionText: "This is an example of a blocking info" +
" dialog. This dialog can be used to draw the user's" +
" attention to an event.",
severity: "info",
primaryOption: {
label: "OK",
callback: function () {
$log.debug("OK Pressed");
dialogService.dismiss();
}
}
};
if (!dialogService.showBlockingMessage(model)) {
$log.error("Could not display modal dialog");
}
};
}
return DialogLaunchController;
}
);

View File

@ -0,0 +1,56 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define,window*/
define(
[],
function () {
"use strict";
/**
* A tool for manually invoking dialogs. When included this
* indicator will allow for dialogs of different types to be
* launched for demonstration and testing purposes.
* @constructor
*/
function DialogLaunchIndicator() {
}
DialogLaunchIndicator.template = 'dialogLaunchTemplate';
DialogLaunchIndicator.prototype.getGlyph = function () {
return "i";
};
DialogLaunchIndicator.prototype.getGlyphClass = function () {
return 'caution';
};
DialogLaunchIndicator.prototype.getText = function () {
return "Launch test dialog";
};
DialogLaunchIndicator.prototype.getDescription = function () {
return "Launch test dialog";
};
return DialogLaunchIndicator;
}
);

View File

@ -0,0 +1,172 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define*/
define(
[],
function () {
"use strict";
/**
* Allows launching of notification messages for the purposes of
* demonstration and testing. Also demonstrates use of
* the NotificationService. Notifications are non-blocking messages that
* appear at the bottom of the screen to inform the user of events
* in a non-intrusive way. For more information see the
* {@link NotificationService}
* @param $scope
* @param $timeout
* @param $log
* @param notificationService
* @constructor
*/
function NotificationLaunchController($scope, $timeout, $log, notificationService) {
var messageCounter = 1;
function getExampleActionText() {
var actionTexts = [
"Adipiscing turpis mauris in enim elementu hac, enim aliquam etiam.",
"Eros turpis, pulvinar turpis eros eu",
"Lundium nascetur a, lectus montes ac, parturient in natoque, duis risus risus pulvinar pid rhoncus, habitasse auctor natoque!"
];
return actionTexts[Math.floor(Math.random()*3)];
}
function getExampleActions() {
var actions = [
{
label: "Try Again",
callback: function () {
$log.debug("Try Again pressed");
}
},
{
label: "Remove",
callback: function () {
$log.debug("Remove pressed");
}
},
{
label: "Cancel",
callback: function () {
$log.debug("Cancel pressed");
}
}
];
// Randomly remove some actions off the top; leave at least one
actions.splice(0,Math.floor(Math.random() * actions.length));
return actions;
}
function getExampleSeverity() {
var severities = [
"info",
"alert",
"error"
];
return severities[Math.floor(Math.random() * severities.length)];
}
/**
* Launch a new notification with a severity level of 'Error'.
*/
$scope.newError = function(){
notificationService.notify({
title: "Example error notification " + messageCounter++,
hint: "An error has occurred",
severity: "error",
primaryOption: {
label: 'Retry',
callback: function() {
$log.info('Retry clicked');
}
},
options: getExampleActions()});
};
/**
* Launch a new notification with a severity of 'Alert'.
*/
$scope.newAlert = function(){
notificationService.notify({
title: "Alert notification " + (messageCounter++),
hint: "This is an alert message",
severity: "alert",
primaryOption: {
label: 'Retry',
callback: function() {
$log.info('Retry clicked');
}
},
options: getExampleActions()});
};
/**
* Launch a new notification with a progress bar that is updated
* periodically, tracking an ongoing process.
*/
$scope.newProgress = function(){
var notificationModel = {
title: "Progress notification example",
severity: "info",
progress: 0,
actionText: getExampleActionText(),
unknownProgress: false
};
/**
* Simulate an ongoing process and update the progress bar.
* @param notification
*/
function incrementProgress(notificationModel) {
notificationModel.progress = Math.min(100, Math.floor(notificationModel.progress + Math.random() * 30));
notificationModel.progressText = ["Estimated time" +
" remaining:" +
" about ", 60 - Math.floor((notificationModel.progress / 100) * 60), " seconds"].join(" ");
if (notificationModel.progress < 100) {
$timeout(function(){incrementProgress(notificationModel);}, 1000);
}
}
notificationService.notify(notificationModel);
incrementProgress(notificationModel);
};
/**
* Launch a new notification with severity level of INFO.
*/
$scope.newInfo = function(){
notificationService.info({
title: "Example Info notification " + messageCounter++
});
};
}
return NotificationLaunchController;
}
);

View File

@ -0,0 +1,50 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define,window*/
define(
[],
function () {
"use strict";
function NotificationLaunchIndicator() {
}
NotificationLaunchIndicator.template = 'notificationLaunchTemplate';
NotificationLaunchIndicator.prototype.getGlyph = function () {
return "i";
};
NotificationLaunchIndicator.prototype.getGlyphClass = function () {
return 'caution';
};
NotificationLaunchIndicator.prototype.getText = function () {
return "Launch notification";
};
NotificationLaunchIndicator.prototype.getDescription = function () {
return "Launch notification";
};
return NotificationLaunchIndicator;
}
);

View File

@ -0,0 +1,54 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define*/
define([
"./src/BrowserPersistenceProvider",
'legacyRegistry'
], function (
BrowserPersistenceProvider,
legacyRegistry
) {
"use strict";
legacyRegistry.register("example/persistence", {
"extensions": {
"components": [
{
"provides": "persistenceService",
"type": "provider",
"implementation": BrowserPersistenceProvider,
"depends": [
"$q",
"PERSISTENCE_SPACE"
]
}
],
"constants": [
{
"key": "PERSISTENCE_SPACE",
"value": "mct"
}
]
}
});
});

View File

@ -1,18 +0,0 @@
{
"extensions": {
"components": [
{
"provides": "persistenceService",
"type": "provider",
"implementation": "BrowserPersistenceProvider.js",
"depends": [ "$q", "PERSISTENCE_SPACE" ]
}
],
"constants": [
{
"key": "PERSISTENCE_SPACE",
"value": "mct"
}
]
}
}

View File

@ -0,0 +1,145 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define*/
define([
'legacyRegistry',
'../../platform/commonUI/browse/src/InspectorRegion'
], function (
legacyRegistry,
InspectorRegion
) {
"use strict";
/**
* Add a 'plot options' region part to the inspector region for the
* Telemetry Plot type only. {@link InspectorRegion} is a default region
* implementation that is added automatically to all types. In order to
* customize what appears in the inspector region, you can start from a
* blank slate by using Region, or customize the default inspector
* region by using {@link InspectorRegion}.
*/
var plotInspector = new InspectorRegion(),
/**
* Two region parts are defined here. One that appears only in browse
* mode, and one that appears only in edit mode. For not they both point
* to the same representation, but a different key could be used here to
* include a customized representation for edit mode.
*/
plotOptionsBrowsePart = {
name: "plot-options",
title: "Plot Options",
modes: ['browse'],
content: {
key: "plot-options-browse"
}
},
plotOptionsEditPart = {
name: "plot-options",
title: "Plot Options",
modes: ['edit'],
content: {
key: "plot-options-browse"
}
};
/**
* Both parts are added, and policies of type 'region' will determine
* which is shown based on domain object state. A default policy is
* provided which will check the 'modes' attribute of the region part
* definition.
*/
plotInspector.addPart(plotOptionsBrowsePart);
plotInspector.addPart(plotOptionsEditPart);
legacyRegistry.register("example/plotType", {
"name": "Plot Type",
"description": "Example illustrating registration of a new object type",
"extensions": {
"types": [
{
"key": "plot",
"name": "Telemetry Plot",
"glyph": "t",
"description": "A plot for displaying telemetry",
"delegates": [
"telemetry"
],
"features": "creation",
"contains": [
{
"has": "telemetry"
}
],
"model": {
"composition": []
},
"regions": {
"inspector": plotInspector
},
"telemetry": {
"source": "generator",
"domains": [
{
"key": "time",
"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-small l-numeric",
"key": "period",
"required": true,
"property": [
"telemetry",
"period"
],
"pattern": "^\\d*(\\.\\d*)?$"
}
]
}
]
}
});
});

View File

@ -19,20 +19,27 @@
* this source code distribution or the Licensing information page available
* at runtime from the About dialog for additional information.
*****************************************************************************/
@font-face {
/*
* Use https://www.web-font-generator.com/ to gen fonts
*/
font-family: 'symbolsfont';
src: url('../fonts/symbols/wtdsymbols.eot');
src: url('../fonts/symbols/wtdsymbols.eot?#iefix') format('embedded-opentype'),
url('../fonts/symbols/wtdsymbols.woff') format('woff'),
url('../fonts/symbols/wtdsymbols.ttf') format('truetype'),
url('../fonts/symbols/wtdsymbols.svg#armataregular') format('svg');
font-weight: normal;
font-style: normal;
}
/*global define*/
.ui-symbol {
font-family: 'symbolsfont';
}
define([
"./src/ExamplePolicy",
'legacyRegistry'
], function (
ExamplePolicy,
legacyRegistry
) {
"use strict";
legacyRegistry.register("example/policy", {
"name": "Example Policy",
"description": "Provides an example of using policies to prohibit actions.",
"extensions": {
"policies": [
{
"implementation": ExamplePolicy,
"category": "action"
}
]
}
});
});

View File

@ -1,12 +0,0 @@
{
"name": "Example Policy",
"description": "Provides an example of using policies to prohibit actions.",
"extensions": {
"policies": [
{
"implementation": "ExamplePolicy.js",
"category": "action"
}
]
}
}

View File

@ -0,0 +1,55 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define*/
define([
"./src/WatchIndicator",
"./src/DigestIndicator",
'legacyRegistry'
], function (
WatchIndicator,
DigestIndicator,
legacyRegistry
) {
"use strict";
legacyRegistry.register("example/profiling", {
"extensions": {
"indicators": [
{
"implementation": WatchIndicator,
"depends": [
"$interval",
"$rootScope"
]
},
{
"implementation": DigestIndicator,
"depends": [
"$interval",
"$rootScope"
]
}
]
}
});
});

View File

@ -1,10 +0,0 @@
{
"extensions": {
"indicators": [
{
"implementation": "WatchIndicator.js",
"depends": ["$interval", "$rootScope"]
}
]
}
}

View File

@ -0,0 +1,80 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define*/
define(
[],
function () {
"use strict";
/**
* Displays the number of digests that have occurred since the
* indicator was first instantiated.
* @constructor
* @param $interval Angular's $interval
* @implements {Indicator}
*/
function DigestIndicator($interval, $rootScope) {
var digests = 0,
displayed = 0,
start = Date.now();
function update() {
var now = Date.now(),
secs = (now - start) / 1000;
displayed = Math.round(digests / secs);
start = now;
digests = 0;
}
function increment() {
digests += 1;
}
$rootScope.$watch(increment);
// Update state every second
$interval(update, 1000);
// Provide initial state, too
update();
return {
getGlyph: function () {
return ".";
},
getGlyphClass: function () {
return undefined;
},
getText: function () {
return displayed + " digests/sec";
},
getDescription: function () {
return "";
}
};
}
return DigestIndicator;
}
);

View File

@ -0,0 +1,2 @@
Example of using multiple persistence stores by exposing a root
object with a different space prefix.

View File

@ -0,0 +1,58 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define*/
define([
"./src/ScratchPersistenceProvider",
'legacyRegistry'
], function (
ScratchPersistenceProvider,
legacyRegistry
) {
"use strict";
legacyRegistry.register("example/scratchpad", {
"extensions": {
"roots": [
{
"id": "scratch:root",
"model": {
"type": "folder",
"composition": [],
"name": "Scratchpad"
},
"priority": "preferred"
}
],
"components": [
{
"provides": "persistenceService",
"type": "provider",
"implementation": ScratchPersistenceProvider,
"depends": [
"$q"
]
}
]
}
});
});

View File

@ -0,0 +1,79 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define,window*/
define(
[],
function () {
'use strict';
/**
* The ScratchPersistenceProvider keeps JSON documents in memory
* and provides a persistence interface, but changes are lost on reload.
* @memberof example/scratchpad
* @constructor
* @implements {PersistenceService}
* @param q Angular's $q, for promises
*/
function ScratchPersistenceProvider($q) {
this.$q = $q;
this.table = {};
}
ScratchPersistenceProvider.prototype.listSpaces = function () {
return this.$q.when(['scratch']);
};
ScratchPersistenceProvider.prototype.listObjects = function (space) {
return this.$q.when(
space === 'scratch' ? Object.keys(this.table) : []
);
};
ScratchPersistenceProvider.prototype.createObject = function (space, key, value) {
if (space === 'scratch') {
this.table[key] = JSON.stringify(value);
}
return this.$q.when(space === 'scratch');
};
ScratchPersistenceProvider.prototype.readObject = function (space, key) {
return this.$q.when(
(space === 'scratch' && this.table[key]) ?
JSON.parse(this.table[key]) : undefined
);
};
ScratchPersistenceProvider.prototype.deleteObject = function (space, key, value) {
if (space === 'scratch') {
delete this.table[key];
}
return this.$q.when(space === 'scratch');
};
ScratchPersistenceProvider.prototype.updateObject =
ScratchPersistenceProvider.prototype.createObject;
return ScratchPersistenceProvider;
}
);

View File

@ -0,0 +1,63 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define*/
define([
"./src/ExampleTaxonomyModelProvider",
'legacyRegistry'
], function (
ExampleTaxonomyModelProvider,
legacyRegistry
) {
"use strict";
legacyRegistry.register("example/taxonomy", {
"name": "Example taxonomy",
"description": "Example illustrating the addition of a static top-level hierarchy",
"extensions": {
"roots": [
{
"id": "exampleTaxonomy",
"model": {
"type": "folder",
"name": "Stub Subsystems",
"composition": [
"examplePacket0",
"examplePacket1",
"examplePacket2"
]
}
}
],
"components": [
{
"provides": "modelService",
"type": "provider",
"implementation": ExampleTaxonomyModelProvider,
"depends": [
"$q"
]
}
]
}
});
});

View File

@ -1,29 +0,0 @@
{
"name": "Example taxonomy",
"description": "Example illustrating the addition of a static top-level hierarchy",
"extensions": {
"roots": [
{
"id": "exampleTaxonomy",
"model": {
"type": "folder",
"name": "Stub Subsystems",
"composition": [
"examplePacket0",
"examplePacket1",
"examplePacket2"
]
}
}
],
"components": [
{
"provides": "modelService",
"type": "provider",
"implementation": "ExampleTaxonomyModelProvider.js",
"depends": [ "$q" ]
}
]
}
}

1
example/worker/README.md Normal file
View File

@ -0,0 +1 @@
Example of running a Web Worker using the `workerService`.

52
example/worker/bundle.js Normal file
View File

@ -0,0 +1,52 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define*/
define([
"./src/FibonacciIndicator",
'legacyRegistry'
], function (
FibonacciIndicator,
legacyRegistry
) {
"use strict";
legacyRegistry.register("example/worker", {
"extensions": {
"indicators": [
{
"implementation": FibonacciIndicator,
"depends": [
"workerService",
"$rootScope"
]
}
],
"workers": [
{
"key": "example.fibonacci",
"scriptUrl": "FibonacciWorker.js"
}
]
}
});
});

View File

@ -0,0 +1,70 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define*/
define(
[],
function () {
"use strict";
/**
* Displays Fibonacci numbers in the status area.
* @constructor
*/
function FibonacciIndicator(workerService, $rootScope) {
var latest,
counter = 0,
worker = workerService.run('example.fibonacci');
function requestNext() {
worker.postMessage([counter]);
counter += 1;
}
function handleResponse(event) {
latest = event.data;
$rootScope.$apply();
requestNext();
}
worker.onmessage = handleResponse;
requestNext();
return {
getGlyph: function () {
return "?";
},
getText: function () {
return latest;
},
getGlyphClass: function () {
return "";
},
getDescription: function () {
return "";
}
};
}
return FibonacciIndicator;
}
);

View File

@ -0,0 +1,15 @@
/*global self*/
(function () {
"use strict";
// Calculate fibonacci numbers inefficiently.
// We can do this because we're on a background thread, and
// won't halt the UI.
function fib(n) {
return n < 2 ? n : (fib(n - 1) + fib(n - 2));
}
self.onmessage = function (event) {
self.postMessage(fib(event.data));
};
}());

View File

@ -23,10 +23,11 @@
<html>
<head lang="en">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<title></title>
<script type="text/javascript"
src="platform/framework/lib/require.js"
data-main="platform/framework/src/Main.js">
data-main="main.js">
</script>
<link rel="icon" type="image/png" href="platform/commonUI/general/res/images/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="platform/commonUI/general/res/images/favicons/favicon-96x96.png" sizes="96x96">

12
jsdoc.json Normal file
View File

@ -0,0 +1,12 @@
{
"source": {
"include": [
"platform/"
],
"includePattern": "platform/.+\\.js$",
"excludePattern": ".+\\Spec\\.js$|lib/.+"
},
"plugins": [
"plugins/markdown"
]
}

93
karma.conf.js Normal file
View File

@ -0,0 +1,93 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global module*/
module.exports = function(config) {
config.set({
// Base path that will be used to resolve all file patterns.
basePath: '',
// Frameworks to use
// Available frameworks: https://npmjs.org/browse/keyword/karma-adapter
frameworks: ['jasmine', 'requirejs'],
// List of files / patterns to load in the browser.
// By default, files are also included in a script tag.
files: [
{pattern: 'src/**/*.js', included: false},
{pattern: 'example/**/*.js', included: false},
{pattern: 'platform/**/*.js', included: false},
{pattern: 'warp/**/*.js', included: false},
'test-main.js'
],
// List of files to exclude.
exclude: [
'platform/framework/src/Main.js'
],
// Preprocess matching files before serving them to the browser.
// https://npmjs.org/browse/keyword/karma-preprocessor
preprocessors: {
'**/src/**/!(*Spec).js': [ 'coverage' ]
},
// Test results reporter to use
// Possible values: 'dots', 'progress'
// Available reporters: https://npmjs.org/browse/keyword/karma-reporter
reporters: ['progress', 'coverage', 'html'],
// Web server port.
port: 9876,
// Wnable / disable colors in the output (reporters and logs).
colors: true,
logLevel: config.LOG_INFO,
// Rerun tests when any file changes.
autoWatch: true,
// Specify browsers to run tests in.
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
browsers: [
'PhantomJS'
],
// Code coverage reporting.
coverageReporter: {
dir: "target/coverage"
},
// HTML test reporting.
htmlReporter: {
outputDir: "target/tests",
preserveDescribeNesting: true,
foldAll: false
},
// Continuous Integration mode.
// If true, Karma captures browsers, runs the tests and exits.
singleRun: true
});
};

82
main.js Normal file
View File

@ -0,0 +1,82 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define, window, requirejs*/
requirejs.config({
"paths": {
"legacyRegistry": "src/legacyRegistry",
"angular": "platform/framework/lib/angular.min",
"moment": 'platform/telemetry/lib/moment.min'
},
"shim": {
"angular": {
"exports": "angular"
}
}
});
define([
'./platform/framework/src/Main',
'legacyRegistry',
'./platform/framework/bundle',
'./platform/core/bundle',
'./platform/representation/bundle',
'./platform/commonUI/about/bundle',
'./platform/commonUI/browse/bundle',
'./platform/commonUI/edit/bundle',
'./platform/commonUI/dialog/bundle',
'./platform/commonUI/formats/bundle',
'./platform/commonUI/general/bundle',
'./platform/commonUI/inspect/bundle',
'./platform/commonUI/mobile/bundle',
'./platform/commonUI/themes/espresso/bundle',
'./platform/commonUI/notification/bundle',
'./platform/containment/bundle',
'./platform/execution/bundle',
'./platform/telemetry/bundle',
'./platform/features/clock/bundle',
'./platform/features/events/bundle',
'./platform/features/imagery/bundle',
'./platform/features/layout/bundle',
'./platform/features/pages/bundle',
'./platform/features/plot/bundle',
'./platform/features/scrolling/bundle',
'./platform/features/timeline/bundle',
'./platform/forms/bundle',
'./platform/identity/bundle',
'./platform/persistence/aggregator/bundle',
'./platform/persistence/local/bundle',
'./platform/persistence/queue/bundle',
'./platform/policy/bundle',
'./platform/entanglement/bundle',
'./platform/search/bundle',
'./platform/status/bundle',
'./platform/commonUI/regions/bundle',
'./example/imagery/bundle',
'./example/eventGenerator/bundle',
'./example/generator/bundle'
], function (Main, legacyRegistry) {
'use strict';
new Main().run(legacyRegistry);
});

45
package.json Normal file
View File

@ -0,0 +1,45 @@
{
"name": "open-mct-web",
"version": "0.7.2",
"description": "The OpenMCTWeb core platform",
"dependencies": {
"express": "^4.13.1",
"minimist": "^1.1.1"
},
"devDependencies": {
"glob": ">= 3.0.0",
"jasmine-core": "^2.3.0",
"jsdoc": "^3.3.2",
"jshint": "^2.7.0",
"karma": "^0.12.31",
"karma-chrome-launcher": "^0.1.8",
"karma-cli": "0.0.4",
"karma-coverage": "^0.5.3",
"karma-html-reporter": "^0.2.7",
"karma-jasmine": "^0.1.5",
"karma-phantomjs-launcher": "^0.2.3",
"karma-requirejs": "^0.2.2",
"lodash": "^3.10.1",
"markdown-toc": "^0.11.7",
"marked": "^0.3.5",
"mkdirp": "^0.5.1",
"phantomjs": "^1.9.19",
"requirejs": "^2.1.17",
"split": "^1.0.0"
},
"scripts": {
"start": "node app.js",
"test": "karma start --single-run",
"jshint": "jshint platform example || exit 0",
"watch": "karma start",
"jsdoc": "jsdoc -c jsdoc.json -r -d target/docs/api",
"otherdoc": "node docs/gendocs.js --in docs/src --out target/docs --suppress-toc 'docs/src/index.md|docs/src/process/index.md'",
"docs": "npm run jsdoc ; npm run otherdoc"
},
"repository": {
"type": "git",
"url": "https://github.com/nasa/openmctweb.git"
},
"author": "",
"license": "Apache-2.0"
}

View File

@ -0,0 +1,166 @@
/*****************************************************************************
* 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.
*****************************************************************************/
/*global define*/
define([
"./src/LogoController",
"./src/AboutController",
"./src/LicenseController",
'legacyRegistry'
], function (
LogoController,
AboutController,
LicenseController,
legacyRegistry
) {
"use strict";
legacyRegistry.register("platform/commonUI/about", {
"name": "About Open MCT Web",
"extensions": {
"templates": [
{
"key": "app-logo",
"priority": "optional",
"templateUrl": "templates/app-logo.html"
},
{
"key": "about-logo",
"priority": "preferred",
"templateUrl": "templates/about-logo.html"
},
{
"key": "about-dialog",
"templateUrl": "templates/about-dialog.html"
},
{
"key": "overlay-about",
"templateUrl": "templates/overlay-about.html"
},
{
"key": "license-apache",
"templateUrl": "templates/license-apache.html"
},
{
"key": "license-mit",
"templateUrl": "templates/license-mit.html"
}
],
"controllers": [
{
"key": "LogoController",
"depends": [
"overlayService"
],
"implementation": LogoController
},
{
"key": "AboutController",
"depends": [
"versions[]",
"$window"
],
"implementation": AboutController
},
{
"key": "LicenseController",
"depends": [
"licenses[]"
],
"implementation": LicenseController
}
],
"licenses": [
{
"name": "Json.NET",
"version": "6.0.8",
"author": "Newtonsoft",
"description": "JSON serialization/deserialization",
"website": "http://www.newtonsoft.com/json",
"copyright": "Copyright (c) 2007 James Newton-King",
"license": "license-mit",
"link": "https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md"
},
{
"name": "Nancy",
"version": "0.23.2",
"author": "Andreas Håkansson, Steven Robbins and contributors",
"description": "Embedded web server",
"website": "http://nancyfx.org/",
"copyright": "Copyright © 2010 Andreas Håkansson, Steven Robbins and contributors",
"license": "license-mit",
"link": "http://www.opensource.org/licenses/mit-license.php"
},
{
"name": "Nancy.Hosting.Self",
"version": "0.23.2",
"author": "Andreas Håkansson, Steven Robbins and contributors",
"description": "Embedded web server",
"website": "http://nancyfx.org/",
"copyright": "Copyright © 2010 Andreas Håkansson, Steven Robbins and contributors",
"license": "license-mit",
"link": "http://www.opensource.org/licenses/mit-license.php"
},
{
"name": "SuperSocket",
"version": "0.9.0.2",
"author": " Kerry Jiang",
"description": "Supports SuperWebSocket",
"website": "https://supersocket.codeplex.com/",
"copyright": "Copyright 2010-2014 Kerry Jiang (kerry-jiang@hotmail.com)",
"license": "license-apache",
"link": "https://supersocket.codeplex.com/license"
},
{
"name": "SuperWebSocket",
"version": "0.9.0.2",
"author": " Kerry Jiang",
"description": "WebSocket implementation for client-server communication",
"website": "https://superwebsocket.codeplex.com/",
"copyright": "Copyright 2010-2014 Kerry Jiang (kerry-jiang@hotmail.com)",
"license": "license-apache",
"link": "https://superwebsocket.codeplex.com/license"
},
{
"name": "log4net",
"version": "2.0.3",
"author": "Apache Software Foundation",
"description": "Logging",
"website": "http://logging.apache.org/log4net/",
"copyright": "Copyright © 2004-2015 Apache Software Foundation.",
"license": "license-apache",
"link": "http://logging.apache.org/log4net/license.html"
}
],
"routes": [
{
"when": "/licenses",
"templateUrl": "templates/licenses.html"
},
{
"when": "/licenses-md",
"templateUrl": "templates/licenses-export-md.html"
}
]
}
});
});

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