Commit Graph

285 Commits

Author SHA1 Message Date
Aaron Doubek-Kraft
4b07930305 Summary Widgets (#1668)
* [ViewAPI] Update view API with more support

Update view provider to allow metadata definitions and to play
nicely with old style views.

Spec out some updates to ViewProviders and ViewRegistry to
support further use of views.

* [Summary Widgets] Add summary widgets

Add a summary widget domain object type

Implement basic interface and style configuration for rules

* [Summary Widgets] Implementation for Rules

Add rule configuration inputs, populated with domain objects, metadata,
and appropriate operations for a given type

* [Inputs] Add implementation for icon palette

Issue #1644

Wire up icon palette inputs to widget, and make icon class a persistable
property of a rule

* [Summary Widgets] Implementation for conditions

Support configuring and persisting multiple conditions per rule

Issue #1644

* [Summary Widgets] Generate Rule Descriptions

Dynamically update the rule description based on the current state
of the rules' conditions

* [Summary Widgets] 'Any/All Telemetry' in conditions

Add UI and implemenetion for evaluating any telemetry or all telemetry
in an individual condition. Add related unit tests.

* [Summary Widgets] Rule Reorders

Implement drag and drop rule reorders using the native HTML5 API

* [Summary Widget] Test Data

Issue #1644

Add user-configurable mock data to test rules. Modify evaluator to
gracefully handle uninitialzed test data points.

* [Summary Widgets] Edit Mode

Enable edit mode for summary widgets, and make configuration interface
visible only when the user has entered edit mode

Fix collision between widget palettes and other interfaces where
palettes would permanently hide other menus

* [Summary Widgets] UI for scripted conditions

* [Sumamry Widgets] Destroy
Implement destroy

* [Summary Widgets] Cleanup
Remove unnecessary persist calls in Rule.js.
Remove generateDescription from refreshConditions and add it after refreshConditions to initCondition and deleteCondition
Throw error when unsupported callback is passed in condition.js, return summary widget instance in plugin.js instead of wrapping in new object for view
Add request properties to telemetry request for providers that support it
Remove check for editing when persisting, in SummaryWidget.js
2017-11-28 13:23:15 -08:00
Victor Woeltjen
bda30f1475
Merge pull request #1787 from nasa/fixed-position-panels
[Fixed Position] Fixed position displays now show image URLs
2017-10-30 11:31:37 -07:00
Pegah Sarram
14df350994 [Layout] Fix regression...
...by clearing the selection only if the selected object is no longer in the compositon and there's no newly dropped object.

Fixes # 1790
2017-10-27 18:18:09 -07:00
Henry
80582f5e8d [Fixed Position] Do not just show range values, be more flexible to other telemetry types. Fixes #1740 2017-10-24 11:44:06 -07:00
Pegah Sarram
00dc2875bf [Layout] Deselect object after removal
If the selected object is not in the composition, deselect it.

Add tests.

Fixes #1731
2017-10-10 15:39:29 -07:00
Pegah Sarram
1419c75503 Inline edit object names (#1700)
* Inline edit object name.

Change the title-label span to a conteneditable span to allow editing object names inline. Implement a controller to handle updaing the name. Add tests.

Fixes #1679

[Front-end] Add span contenteditable to input styling
[Front-end] Styling for contenteditable span
styling for span[contenteditable].s-status-editing in _controls.scss;
removed s-filter class;
[Front-end] min-width added to .s-inline-edit

* [Frontend] Style tweaks, cleanup and simplification

Fixes #1679

Style sanding on .s-inline-edit; added
:focus outline:0 to select in _controls.scss;

New .s-input-inline class; removed ng-class from object-header.html,
uses :focus instead; refactoring of input-related mixins;

Bring Time Conductor real-time inputs into parity

Apply .s-input-inline to TC inputs; finesse .s-input-inline selector;

Prevent nested inline inputs from editing

Fixed nested editing prevention selector

* Create an object header template for objects inside a frame.

Fix code review requests.

Fixes 1679
2017-09-21 11:16:04 -07:00
Pegah Sarram
740db8da75 [Fixed Position] Add tests and fix checkstyle error.
Fixes #1496
2017-09-14 15:15:15 -07:00
Charles Hacskaylo
68abc15ed5 [Frontend] Fix alignment and font-size issues in tool-bar
Fixes #1496
2017-09-14 15:02:22 -07:00
Pegah Sarram
bb47feb517 [Fixed Position] Text size control for text and telemetry objects
Add a select control for text and telemetry objects to allow setting text size. Set the default size to 13px.

Fixes # 1496
2017-09-14 14:49:28 -07:00
Pegah Sarram
cecd708dd1 Layout selection and show/hide frame
Added ability to show/hide object frames via a toggle button in the
edit toolbar. All objects have frames by default except for ‘hyperlinks’.
Also, implemented object selection in the layout and added tests for new features.

Fixes #1658.
2017-08-22 16:45:34 -07:00
Charles Hacskaylo
7c9a6bd817 [Front-end] Integrate Hyperlink related changes from #1685 work
Fixes #1685
(cherry picked from commit 4dff369)
2017-08-14 12:18:19 -07:00
sahajp23
fa57688709 Bug fix for hyperlink in Display Layout 2017-08-11 11:59:27 -07:00
sahajp23
a5f6940d67 Updated version of hyperlink with suggested changes made
modified:   src/defaultRegistry.js
2017-08-01 11:51:42 -07:00
Aaron Doubek-Kraft
a4b857a034 [Fixed Position] Change default behavior for old elements
For elements created before this change where useGrid is not defined,
default it to true to ensure consistent display size

Inline constant definitions in unit tests if they are only used once
2017-07-05 10:58:13 -07:00
Aaron Doubek-Kraft
aa8f780e4e [Fixed Position] Add unit tests 2017-06-29 15:22:39 -07:00
Aaron Doubek-Kraft
3ed0880c6e [Fixed Position] Add unit tests for new code
Refactored ElementProxy and UnitAccessorMutator slightly to improve encasulation. Added unit tests for UnitAccessorMutator
2017-06-29 13:14:38 -07:00
Aaron Doubek-Kraft
40c68e6399 [Fixed Position] Change UI pixel/grid toggle to checkbox
Change the input for grid units/pixels to a simple checkbox toggle from a
dropdown menu.

Add a new specialized AccessorMutator class to support this operation.
2017-06-28 15:19:18 -07:00
Aaron Doubek-Kraft
65500736da [Fixed Postion] Update unit tests for new code 2017-06-28 13:38:35 -07:00
Aaron Doubek-Kraft
b9ab97eb7f [Fixed Position] Add ability to work in pixel space
Fix code style issues per Victor's review

Add toggle to work in pixel space or grid space, per the issue description.
Each element stores a boolean property that determines whether or not it
snaps to grid space or pixel space. Coordinates are converted between spaces
on toggle, preserving the size of the element in pixels.

To complete: change UI element for toggle to a checkbox.
2017-06-28 12:37:14 -07:00
Aaron Doubek-Kraft
825f50262c [Fixed position] Incorporate numberfield control
Fix style and merge issues
2017-06-26 11:15:09 -07:00
Aaron Doubek-Kraft
a6079936e8 [Fixed position] Incorporate numberfield control 2017-06-26 11:07:20 -07:00
Aaron Doubek-Kraft
542b7a6f20 [Fixed Position] Incorporate numberfield control
Change inputs from textfield to new numberfield input, remove internal type checking in favor of input validation
2017-06-26 10:57:47 -07:00
Aaron Doubek-Kraft
2a8c3977a4 [Fixed Position] Incorporate new numberfield inputs
Changed inputs from textfields to numberfields, and removed internal
type checking for these inputs
2017-06-26 10:52:04 -07:00
Doubek-Kraft
515ea7caf8 [Layout] Code Style Issues 2017-06-26 09:36:31 -07:00
Doubek-Kraft
65993bd77f [Layout] Code style
Fix code style issues
2017-06-26 09:36:31 -07:00
Doubek-Kraft
54e07ccfdd [Layout] Line endpoint coordinate editing
Added appropriate line endpoint coordinate editing input fields
2017-06-26 09:36:31 -07:00
Doubek-Kraft
2e6fcec1c3 [Layout] Consistent input behavior
Inputs now handle invalid input consistently for all fields
2017-06-26 09:36:31 -07:00
Doubek-Kraft
f992fcebe1 [Layout] Consistent input behavior
Inputs now consistently default to 0 when left empty
2017-06-26 09:36:31 -07:00
Doubek-Kraft
280c838735 [Layout] Add numerical inputs for fixed-position layout
Added individual property inputs to the toolbar for height, width, x,
 y, and line endpoint coordinates in fixed/bundle.js.

Added "edit<Property>" AccessorMutators for height and width to each
of the element proxies, so these properties can be exposed only for
elements where it makes sense (e.g. boxes, but not lines, since lines
are better controlled by endpoint coordinates).

Added a method "checkNumeric" to ElementProxy.js , to be used
to restrict inputs to integral values for position and size
 textfield inputs.

Current issues: endpoint coordinate inputs have undexpected behvaior,
handles disappear after using the input fields to modify element
properties.
2017-06-26 09:36:31 -07:00
Doubek-Kraft
39fe2fd7b6 [Layout] Code Style Issues 2017-06-23 16:04:34 -07:00
Doubek-Kraft
b661b4737e [Layout] Code style
Fix code style issues
2017-06-23 14:47:01 -07:00
Doubek-Kraft
5f7eeeae30 [Layout] Line endpoint coordinate editing
Added appropriate line endpoint coordinate editing input fields
2017-06-23 13:48:33 -07:00
Doubek-Kraft
537656303a [Layout] Consistent input behavior
Inputs now handle invalid input consistently for all fields
2017-06-23 11:42:52 -07:00
Doubek-Kraft
64bf63c18a [Layout] Consistent input behavior
Inputs now consistently default to 0 when left empty
2017-06-23 10:57:50 -07:00
Doubek-Kraft
ac3f638b35 [Layout] Add numerical inputs for fixed-position layout
Added individual property inputs to the toolbar for height, width, x,
 y, and line endpoint coordinates in fixed/bundle.js.

Added "edit<Property>" AccessorMutators for height and width to each
of the element proxies, so these properties can be exposed only for
elements where it makes sense (e.g. boxes, but not lines, since lines
are better controlled by endpoint coordinates).

Added a method "checkNumeric" to ElementProxy.js , to be used
to restrict inputs to integral values for position and size
 textfield inputs.

Current issues: endpoint coordinate inputs have undexpected behvaior,
handles disappear after using the input fields to modify element
properties.
2017-06-23 09:28:49 -07:00
Pete Richards
04c2eac9ef [Layout] Add view large button for zooming
Fixes #1437
Markup and CSS for `view large` button in frame context;
Sass formatting cleanups; removed unused styles from
_layout.scss; mods to MCTTriggerModal.js to remove
button label functionality;

Added new "icon-expand" glyph and class;

Fixes #1437
Fixes #1423
New overlay > l-dialog and l-large-view classes;
Fix context-menu z-index to allow context menu
to appear in the overlay;
.object-top-bar refactored and replaced with
.object-browse-bar;
frame > hover now only displays local controls for
proper level, handles nested layout situation;
Fixed font-weight display issues;
MCTTriggerModal.js modified to do the following:
- Remove .frame classes when displaying object in overlay
- Allow click on this overlay .blocker to dismiss overlay

Fixed min-width issue incorrectly targeting .object-browse-bar in frame context;

Added expand anim to large view holder;
Changed close button icon

Significant mobile styling and cleanups;
Markup mods for overlay.html;
Handles dialog on top of large view;
Form validation now displays better in mobile;
Updated /src/api/ui/dialog.html to be in-line
with /platform/commonUI/dialog/res/templates/overlay.html;
Moved border-radius from containerBase to btnBase mixins;

Animate with scale for GPU acceleration

Change desktop animation to use scale, so that it is hardware
accelerated and buttery smooth.  Also fixes text anti-aliasing
to improve readability.

Moved mobile/overlay/_overlay.scss styles into
overlay/_overlay.scss; removed mobile/overlay/_overlay.scss;
Cleanups in _overlay.scss; restored max-width/max-height
to dialogs (removed in #1376 for #1298) and added
min-width;

[Frontend] Mobile fixes in overlay and related

Fixes #1437
Added mobile-specific styling to _messages.scss;
Fixed button layout and margins in _overlay.scss;
Fixed message.html to not default to major style
buttons;

[Frontend] Timing tweaks

Fixes #1437
Moved large view expand transition duration
into theme _constants files; shortened anim
duration

Fix Style errors

[mctTriggerModal] correct scope for toggle

Correct scope for toggleFunction such that #1503 no longer occurs.

Fixes #1503

[Style] Add copyright header
2017-05-18 18:18:19 -07:00
Henry
abb7230231 [Time Conductor] Fixed or disabled failing tests 2017-05-01 16:19:11 -07:00
Henry
f17417a541 [Time API] Modified public Time API to support registration of time systems and clocks, setting of active clock, simplification of clocks and time systems, setting of offsets(deltas) and other changes as per #1265 and #1474. Refactoring of UI code to support changes. 2017-04-28 16:03:59 -07:00
Victor Woeltjen
2a173f67c8 Merge pull request #1522 from nasa/open1494-other
[Fixed Position] Updated fixed position view to use new Telemetry API
2017-04-24 12:45:37 -07:00
Andrew Henry
ec4fe8efb3 Merge pull request #1518 from nasa/copyright-1517
[Licenses] Update copyright year to 2017
2017-04-23 17:22:01 -07:00
Henry
d4fdaf9cbc [Fixed Position] Updated fixed position view to use new Telemetry API
Added TelemetryCollection to handle bounds and buffering. Avoids loss of telemetry due to timing mismatch between telemetry providers and tick sources
Fixed issues with removal and addition of objects
2017-04-14 18:22:43 -07:00
Victor Woeltjen
185567cf29 [Licenses] Update copyright year to 2017
Fixes #1517
2017-04-05 14:52:46 -07:00
Henry
4e457f1cf0 Fixed failing tests, and added new tests 2017-03-27 11:15:27 -07:00
Henry
1cb5dd021f Modified composition policies to consider object instances instead of types. Fixes #669 2017-03-24 16:59:30 -07:00
Andrew Henry
f7ff5af60b Merge pull request #1448 from nasa/update-composition-policy
Update composition policy
2017-02-21 17:18:59 -08:00
Pete Richards
2a10a2cae2 Update specs to match composition policies 2017-02-21 15:14:35 -08:00
Pete Richards
65325b90fd Composition policy takes child instance
The composition policy now takes a child instance instead
of the child type, as in all cases we have access to the child
object.

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

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

Updated AddActionProvider to hardcode the object types supported.
2017-02-21 12:32:49 -08:00
Pete Richards
aaedf5d576 cssclass is now cssClass
Make property name consistent with standard camelCase naming.
2017-02-21 11:14:46 -08:00
Pete Richards
5b6f95bd4a [Fixed] Specify default layout grid (#1296)
* [Fixed] Specify default layout grid

Previously users would see blank values for grid size
even though a default was applied.  Users will now
see default values for grid size which should prevent
them from accidentally changing grid size.

Fixes https://github.com/nasa/openmct/issues/1285

* [Fixed] Don't hardcode grid size

Remove hardcoded grid size per comments.

https://github.com/nasa/openmct/pull/1296#issuecomment-259231499

* [Fixed] read layout before initial refresh

Read the layoutGrid sizes from scope (when watch is registered)
before refreshing elements, to ensure that layoutGrid is set
properly.

https://github.com/nasa/openmct/pull/1296#issuecomment-259231499

* [Spec] Update spec to match

Update spec to trigger watch on initialization to ensure
layoutGrid is set.

https://github.com/nasa/openmct/pull/1296
2016-11-08 14:59:09 -08:00
Pete Richards
65043d0ff3 squash merge open933 into integration-1089, resolve merge conflicts. 2016-10-12 13:47:56 -07:00