* Set time system / bounds immediately based on conductor configuration
* Hide date picker if not UTC based time system. Improve Conductor configuration error messages.
* Get selection context from object view for constructing the context in subobject view.
* Implement getSelectionContext for flexible layout provider and remove code that makes flexible layout self selectable.
* Get selection context from object frame when constructing context for frames.
* Disable Add button when selected parent is a flexible layout
* Make 'Add' button working for selected display layouts in a flexible layout.
* fix expand error and fix flexible layout toggle container issue
* Check for parent object before getting composition.
* Open in new tab
* Fix splitter resizing error, and css background issue
* Prevent new line on enter key press when editing name in object browse bar. Update domainObject name on enter key press in Object Browse Bar
* Flexible layout should react to composition remove, and fix delete container
* Render a drag ghost when dragging frame items in flexible layout
* Use composition.on add to add new frames
* Styling for selects
- New cleaner styling approach;
- New cSelect and appearanceNone mixins;
- Converted selects in Notebook, plot-options-edit;
* List View fixes
- Ellipsizing now works;
- Better icon and text alignment;
* Remove updateDrilledIn function and calls
* Telemetry Table editing styles
- Headers now have hover effects;
* Change 'toggle'-style toolbar buttons to reflect current state, rather
than what will be the setting once clicked
- When frame is hidden, button displays the frame-hidden icon, and
tooltip says 'Frame hidden';
* Enable all sub-object views in Display Layout to use numeric inputs for
x, y, width and height
* Toolbar sanding and polishing
- Button order tweaked to place stack order near X, Y, etc. inputs;
- Improved spacing between items themselves and separators;
* Fix indentation
* Fix indentation part deux
* fix add links by drag and drop
* fix dialog component logging errors
* fix search component errors
* fix sort
* remove unused entrydnd file
* remove unnecessary console logs
* fix preview action in embed dropdown, which was throwing a type error
* invoke PreviewAction once in NotebookController and pass into git add -a
* add navigation capability to embeds, and a bunch of cleanup
* code cleanup and avoid calling dismiss twice on overlay destroy, which was throwing a DOM error. Calling code should dismiss the overlay
* only show elements pool if domainObject has composition
* fix error in inspector when no selection is present
* wire up object view expand button
* listen to composition#remove in TabsView
* make reviewer requested changes
* make reviewer requested changes, and fix for an edge case where removed tab is at the end of the array and currentTab is not set properly
* remove array wrapping dynamic classes in embed.html
* add title='View Large' to expand button
* change model variable to domainObject in tabs.vue
* dismiss top level overlay when esc is pressed (only if overlay is dismissable)
* fix link navigation from embeds
* use positive flag dismissable instead of negative notDismissable for overlays
* make overlays dismissable by default, unless set to false
* Add a toolbar menu for changing the display order of items.
* - Wire up orderItem
- Modify the toolbar API to support function as alternative for property path.
* Add a button in the toolbar to toggle snapp to grid.
* Convert item's coordinates and size from grid unit to pixels depending on useGrid value.
* Rename selectionListener to removeSelectionListener
* Removed debubgging statement
* Change order of mutation events so that composition handlers are working with latest object version.
* Remove suppression of mutation event
* Minor code reformatting
* Preview instead of navigate when in edit mode.
* Prevent preview of navigated object
* Removed trailing comma
* Observe navigation from tree items instead of mct-tree
* Cleanup of redundant code
* .is-selected -> .is-navigated-object
* Drag-drop edit mode from capture handler. Drag-drop composition from bubble handler. Check composability on drag start
* Show drop hints without being in edit mode.
* Don't serialize objects twice on drag
* Clocks and timers styling WIP
- Markup, new styles;
- Renamed _legacy-plots.scss > _legacy;
- New $colorBodyFgEm constants - theme files all updated;
* Clocks and timers styling complete
* Styles clean up
- Moved legacy styles out of _global into _legacy.scss;
* working telemetry subs
* Styling for LAD table
- Fixed markup;
- Corrected icon, added description;
- Expand c-table styles slightly, moved some definitions into
c-telemetry-table;
* add LADTableSummary
* change function names
* make reviewer requested changes
* add lad table headers in sets
* make column widths fixed
* handle composition remove in sets and tables
* finish updateTimeSystem
* add correct support for limits
* LAD Table and Table Set styling
- Removed fixed table layout;
- Col widths set to 33% for now;
- New c-lad-table class and styling;
- New __group-header class added;
- All themes updated with __group-header style colors;
* make reviewer requested changes
* use lodash findIndex
* fix view names, and persist sort order across list views by persisting in local storage
* use keystring as key
* add openmct namespace to localstorage persisted listview-sort-order to avoid name collision, rename key in composition-loader to objectKeyString
* Add delete button in the toolbar for removing items
* Mutate composition if there are no telemetry objects. Select the parent layout after deleting an item.
* Saving work
* Watch for index in the components and update it in the context.
* Select the parent after a composition is removed.
* Address reviewer's feedback.
- Rename mutatComposition() to removeFromComposition().
- Inline logic for filtering composition
- Use separate branches for each item type in trackItem().
* Address reviewer's requested changes
* Create button disabled when editing
* New disabled mixin;
* Tree styling
* Fixed icons for fullscreen toggle button
* Local controls fixed for Imagery and Plots
* Range control styling updated;
* Plot styling, significant mods
* Disclosure controls improved;
* New _legacy-plots.scss file added, no longer loads legacy plot SCSS
files;
* Removed 12px crosshair cursor in legend hover;
* Inspector tree styling in plot options
* Fix z-indexing related to Overlays
[tree] fixes warning from viewControl about improper mutation in child component
[tree] show links in tree
[toolbar] close open menu when clicking on another menu.
* Create button disabled when editing
- New disabled mixin;
- Selector def for .is-editing .c-create-button;
* Symbolsfont install generation, Elements pool
- Moved font src statement to prevent genning of symbolsfont in wrong
directory locations;
- Elements pool styling WIP, todo: hover item styles, class naming;
* Tree styling
- Hover behavior refined;
- Styling for .is-selected state;
* Fixed icons for fullscreen toggle button
* Tree-related styling for is-selected, is-being-edited
* Support category arrays for legacy actions
* Fixed object path listener. Removed old context menus
* Removed old fullscreen action and Screenfull dependency
* Restore confirmation dialog on remove
* Restored tests
* Remove unused legacy policies
* WIP re-implementation of Preview action
* WIP for Charles to take a look at flex issues
* Disable legacy preview action
* Style and markup fixes for new Preview
- LegacyViewProvider modded to wrap legacy elements in .u-contents div;
- Added selector that automatically defines display: contents on
`no-class` divs injected into __object-view;
- Unit tested with legacy and new components (telem tables, plot view,
Notebook, etc.)
* Tweak z-indexes, fix open in new tab action, add 'done' button
* Removed legacy action
* reuse contextMenuDropDown component
* Hacky WIP
* WIP
* check for 'domainobject' in data transfer
* Metadata manager can return default display value
* Refactor subobject and telemetry views to use layout frame
* Use data domainObject
* Get metadata for selected object.
* Don't inject lodash via vue
* move selection to specific layout types
* restore toolbar functionality
* Support creating line
* Add controls for setting x, y, x2 and y2 for lines from the toolbar.
* Initial attempt at resizing lines
* Check for duplicate panel
* line resize handles working
* Get Text and Box elements working.
* Refactor image view to use layout frame
* Fix drill in
* Check for object before accessing the identifier to avoid type error.
* Add inspectable class if item is subobject or telemetry view.
* Delete unused files
* remove unused imports
* Fix typos
* Fix cssClass and objectPath
* object can be undefined so check for it not being undefined before adding a listener.
* Set cssClass when domain object is available
* Get user input for text and image in the toolbar when adding element.
* Theme refactoring
- New hero, header and body font mixins added to theme files;
- Mods to body, griditem, frames, browsebar, etc. to use new font
mixins;
- Moved symbolsfont definition into _constants.scss;
* Tweak - make SubobjectView use header font;
* Add new theme 'maelstrom';
* Add comment
* Remove deprecated .svg and .eot symbol font files
* only store identifiers in frames
* move drop hints outside frame
* fix resizing
* fix drag and drop frames
* fix reordering of columns
* multiple improvements
* fix styling for drop hint in empty container
* fix frame reorder in same column
* better drop target show logic
* better frame drop to logic
* fix container reordering
* add uuids for frames and containers to prevent clashing
* toolbar updates
* use shared subobject component to ease styling
* add type cssClass to subobject component header, and delete frame header vue file
* add context menu in subobject views
* change height and width to size for both frames and containers
* remove uneccesary methods from resizeHanfle and inline logic instead
* remove left click logic from context-menu mixin, add a click handler to dropDownContextMenu to show menu
* make a mixin to listen for isEditing
* encapsulate drop hints, and pass allowDrop logic to check if drop hint is valid
* use event.dataTransfer instead of vue events for container reordering
* remove vue events for frame dnd and use html events
* better implementation of toolbar
* remove unused event
* fix container resizing when adding new container
* make reviewer requested changes
* add containerId to event vs having a JSON object
* watch domainObject from flexible layouts and pass down to components
* change domainObject directly on add Container
* update domainObject on change, and cahnge toolBarProvider to function that returns an object
* fix plugin
* set domainObject as data property in felxibleLayouts
* use class instead of inline styles
* Cleanup code
inline this.$el for components that measure their own size
replace snapToPercentage with Math.round
inject object as layoutObject, not dObject.
* reuse sizing logic between frames and containers
* clean up handlers
split handlers for createFrame and moveFrame events in container.
reorganize methods for each to clarify how they operate.
* ObjectView only stops propagation when it handles event
* use ids in toolbar to ensure correct items are mutated
Because index may change due to drag and drop events,
deleteFrame and deleteContainer should operate using identifiers
instead of index.
Also, generate path for hasFrame using indexes when object is
selected, otherwise hasFrame may refer to the incorrect path.
* - Show "Add" button in the toolbar when a display layout object is selected.
- Add a flag to object view's show() method to indicate immediate selection of the view. If the view implements getSelectionContext() use it, otherwise set to default context.
* Create a component for each element.
* Saving work
* Add element factory for creating new instances of elements.
* Mutate element when a new one added and get elements when the component is mounted.
* Add create() method for creating a new telemetry and element in their respective view configuration.
* Add some of the toolbar controls for box, text, image and line elements. Also, add X, Y, Width and Height controls for alhpanumeric elements.
* Pass name to addElement as type.
* Add c-frame-inspectable class if item is inspectable.
* Clean up
* Hide frame for summary widgets by default.
* Better styling for editing
- s-selected on shell__main-container;
- Better edit grid coloring for espresso;
* - Update toolbar-button to support dialogs.
- Update toolbar to construct a value object based on form keys if a toolbar item has a dialogi, and mutate the form keys.
- Add toolbar controls for editing text and url for 'Text' and 'Image' elements respectively.
* Editing-related changes
- Removed hard-coded .is-selectable and .is-moveable from
LayoutItem.vue, updates accordingly to _global.scss;
- Theme constants updated;
- TODO: apply changes to Flexible Layouts;
* Better defaults
- Better default grid size and object size;
* - Fix toolbar-input to read value as a number if type is 'number'.
- Remove rawPosition from view configuration and instead get the position and dimensions from the properties (x, y, width and height) directly.
- Set the style property on the view configuration instead of the layout item.
- Move the logic for updating the style to the view configuration.
* Fix default dimensions for telemetry items and subobjects since the default grid size is changed.
* Remove form definition for display layout type.
* Reword the comment
* Let subobject view configuration handle new panel creation.
* Add default grid size back and remove unused code.
* Pass in only the needed method.
* Define default position in case the object is not added via drag 'n drop.
* Adding jsdoc to Context Menu Registry
* Remove attachTo function - make context menu gesture a mixin. Update object path when objects change.
* Added context menu from arrow button. Some minor refactoring
* Clarify variable naming
* Moved Context Menu component
* Reorder function definitions
* Addressed code review comments
* temporarily disable remove dialog which is broken
* temporarily remove broken context action policy
* let openmct generate legacy objects
* ensure composition loads in specified order
* redo nav and add context menu support to tree
* componentize grid and list view, add context menus
* first cut of flexible layout
* better drag handling
* add drop targets to every row
* enable drag and drop between columns and rows
* enable persistance
* add editing capability
* chage rows to frames and columns to containers, switch draggable to whole frame object
* Merge latest, resolve conflicts.
Need to just apply these changes to Deep's branch and push
* enhancements to drag targets
* WIP in flexibleLayout, container.vue files
- Refined classes and markup;
- min-width changed to flex-basis;
- Added toggle direction button;
* Significant progress but still WIP
- Refined classes and markup;
- Layout toggling working;
- Add Container working properly;
- TODOs: fix sizing in empty container, fix bordering, more refinements;
* add resizing of frames - still wip
* Significant enhancements
- Moved all CSS into flexibleLayout.vue;
- Layout now improved for empty container and drop hints;
- Proportional sizing now better for frames and containers;
* Resize handle WIP
* abstract splitter and logic into self contained component that will emit an event when mouse is moving
* Resize handle WIP
- Minor tweak to handle padding and hover;
* add container resize todo persist
* persist container resize
* add frame header, fix column resize on last column
* Refinements to resize-handle
- Fixed sizing;
- Transition on hover;
- TODOs: needs is-dragging to maintain hover style while dragging;
* fix drop hints showing after drop
* move header
* improve mouse move gesture
* Added frame size indicator
* add snapto functionality
* Refined container and frame size indicators
- Also added overflow handling to l-grid-view
* improve resizing logic
* add selection on frames
* Various resizing-frames related
- Fixed overflow - now frame widths can be collapsed to 5% minimum;
- Sizing indicators refined, better positioning and layout;
- Added grippy drag indicators to column heads;
- TODOs: add column head cursors and hover effects, hide indicators
when not in edit mode, handle nested layout and flex layouts while
editing
* Selecting and emtpy layout messaging
- Better empty layout message;
- Moved s-selected to proper element in c-fl-frame;
* Drop-hint and sizing related various
- Drop-hints for first placeholder container now display;
- Drop-hints moved into drag-wrapper;
* add delete frame
* Editing various
- Adjust Snow theme constants related to editing;
- Changed delete message wording;
* Updated icon and added description
* add toggle and remove container to toolbar
* miscellaneous cleanup
* add container button to toolbar
* improve toolbar
* code cleanup in plugin.js
* Various icons, toolbar separator
- Copied in c-toolbar__separator and associated changes in _controls
from Pegah's layout_alpha branch - may have conflicts later.
- Added separator to FL toolbar;
- Updated icons for grippy-ew, toolbar icons;
* add check for empty containers"
* logic to resize frames on drop
* fix delete frame and persisting toolbar
* Significant changes to edit / selection styling
- Both Flexible and fixed Display Layouts addressed;
- Both themes addressed;
- Changed drop-hint icon to icon-plus;
* add correct icons to frame header and fix toolbars showing up in wrong views
* Moving and resizing various
- Cursors;
- Grippy added to frame resize-handle, WIP!;
* add container reordering
* add frame/no frame support to toolbar'
* fix regression of resize handles showing after last frame in container
* force selection of flexible-layout when editing is first clicked, to apply correct toolbar
* make changes to simplify toolbar
* Modified sizing algorithm slightly
* make changes reviewer requested
* fix regression that causes top drop hint to not show
* remove unused variables and bind events to vue
* unsub selection before destroy
* Support displaying and adding telemerty points in display layouts.
* Create TelemetryView component. Also disable the toolbar frame button for telemetry objects.
* Add 'components' directory and move the toolbar provider definition to a separate file.
* Saving work
* Saving work
* Saving work
* Fix telemetryClass
* Fixes for .no-frame in new markup structure
- CSS cleaned up and reorganized;
- Added .c-telemetry-view classes;
* Add computed properties for hiding label and value.
* Filter value meta data based on the item config display mode.
* Add drop down menus for display mode and value
* Add toolbar controls for telemerty points
* Set border and fill related styles on telemetry view instead of layout item
* Refinements to telemetry view
- Stoke and fill styling now work;
- Internal element layout now much better when sizing in a Layout frame;
- Tweaked color of frame border while editing;
* Prevents adding a new (panel) object if it's already in the composition.
* Fix for jumping edit area
- Removed v-if from Toolbar.vue;
- Refined c-toolbar styling;
- TODO: don't include toolbar component when not editing, and for
components that don't use a toolbar;
* Add a separator toolbar control
* Check for domainObject being on the toolbar item as not all controls have that property
* Hide 'no fill' option from the text palette.
Modify the color-picker component to say 'No border' for stroke palette.
* Move the listener for hasFrame to the subobject view configuration
* Fixes for toolbar-separator
- New mixin;
- Corrected markup for separator;
- New class for .c-toolbar__separator;
- Updated DisplayLayoutToolbar.js to include separators in the right
spots;
* Get type from item.
* Include copyright notice.
* Use arrow function for consistency and define a TEXT_SIZE constant.
* Use composition API to add non-telemetry objects instead of relying on the drop handler.
Display a blocking dialog if an existing non-telemetry object is dropped.
* Fix text color picker icon
* Address reviewer's feedback
* Load the composition and update addObject() to render existing panels as well. Also, cache the telemetry value formatter.
* Add listener for changes to time bounds.
* Code cleanup
* Use getFormatMap() to store formats. Reset telemetry value and class before fetching new data.
* Fix a typo
* Define telemetry class and value as computed properties.
* Change context object definition
* Look at the telemetry metadata to find a good default for the value key instead of defaulting to 'sin'. Also, make formats reactive.
* Use let instead of var.
* Renders with resize hotzones
* Implemented basic reordering of columns
* Refactored column headers into component
* Custom column widths persist during resize
* Initial working version of fixed column sizes
* Only calculate default sizes when first data received.
* Further fixes for fixed column widths. Add option to switch to auto-widths
* Fixed bug with table auto-sizing
* Only allow reorder and resize in edit mode
* Bug fixes
* Allow for scroll bar width
* Bug fix with tables reverting to 100% width
* Fixed bug with drop position indicator when scrolled
* Moved events on to component
* Do not throttle mouse events. Let Vue throttle them
* Do not hard code vertical offset for drop target
* Addressed review issues
* Clarified mouse event handling on column resize
* Very significant update to symbols font
- New Icomoon project and font files for 16px symbols;
- Symbol char codes now PUA and hexadecimal compliant;
- Symbols reorganized;
- New symbols added;
- Remove loading of legacy glyphs scss file;
* Added new fonts
- Updated Tabs View icon art;
- Generators icons added;
* Added new icon glyphs and background SVG art
- New icons for generators;
- New icon for Flexible Layout;
- New icon-grippy-ew, for Flexible Layout, others;
* Remove unused legacy font files
* first cut, working for objects with explicit height
* working for all objects by setting min-height explicitly to 70vh
* add composition listeners
* Tabs view WIP
- Markup and CSS BEMized;
- Stubbed in type icon in tab elements;
- TODO: refine styling on tabs;
* Tabs view WIP
- Layout enhancements;
* add types and header
* remove static icon-layout class
* move Tabs into its own plugin folder:
* simplify on composition add listener callback
* fix icon rendering
* add document dragstart and dragend listeners, with v-if div for drop target
* remove third argument from document listeners, move drop target to tab container
* Sanding and shimming on Tabs View
- WIP
* Tabs View styling
- Shippable to Deep;
- Added new c-drop-hint element in _controls.scss;
- Added new theme constants;
- Added 'empty' tabs view message;
- TODOs: add listener for dragover event for is-mouse-over styling,
integrate forthcoming changes to symbolsfont;
* add is-mouse-over class when drag enters dropHint div, add and remove listeners
* .c-drop-hint styling refined
- Refined hover effects;
- Bg icon instead of glyph character;
- TODOs: Change $bg-icon to plus sign;
* fix bug regarding persisting drop-hint styling even after drop is ended
* Implemented drag-and-drop composition
* Added composition policy for tables
* Reimplemented elements pool in Vue
* No need to resolve all objects on the navigated path
* Only show elements pool in edit mode
* Remove old elements pool
* Updated legacy code to use composition policy API
* Keep object in sync when mutated
* Wire up create with old create action
* refactor grid and list view to listen on composition, use lodash for sorts, remove item count
* remove item count on grid view
item count needs to be supported by composition API and not by
inspecting model, otherwise it will be inconsistent.
* close menu after create or clickaway
* Initial attempt at getting the toolbar for the fixed position working with the Vue toolbar controls.
* Set title for controls
* Significant mods to support legacy Fixed Position
- Moved selection and editing styles into _global.scss;
- Changed class naming in legacy fixed.html to map to newer CSS styles;
* Pass in the color value
* Do not show the toolbar container if structure is empty.
* Use a plugin for fixed position to get access to openmct. Show the toolbar only if the object is being edited.
* Ensure fixedController is on the selection context when editing
* Add listener for a domain object with the same id only once.
Update the toolbar value after the object mutation.
Remove editor isEditing listener on destroyed.
* Remove space between the size and px.
If newObject exists, update the toolbar value.
* Remove --nwse class name which seems to be a typo
* use modifier convention
* modify overlay service to accept bottomBarButtons option, working annotate on snapshot view
* working blocking message
* move blocking message to overlay service
* return dismiss function on show
* added jsdocs for overlayService
* added progress bar, with setter and getter functions
* make reviewer requested changes
* re-overhaul of overlayAPI
* Integrate work in dialog-service-vue-style
- Markup in DialogComponent and OverlayComponent now up to date;
- Colors, constants;
- Notebook entry now passes correct buttons config;
- New bg data URIs added;
- u-icon-bg-* classes added to global.scss;
* Added deprecation comments to .vue files
* Removed styles from deprecated file
* Temp restore of CSS so that dialog doesn't break.
* remove old OverlayService
* Fixed to overlay CSS
- Fixed large, small, fit sizes;
- Added margin to overlay buttons;
- Code cleanup;
* Remove unused constants
* Tweak styles for __close-button
* Code cleanup
* small cleanup
* wip progressDialog
* Progress bar fixed and Vue-ized
- Markup, styles;
- Constants moved from theme files into _constants.scss;
* added jsdocs to new Overlay API
* remove unused example function
* use progressBar.vue in NotificationBanner.vue, wire up the maximize method with progressDialog and Dialog from OverlayAPI
* Styling in progress for status message banners
* openmct members are camelCase
* Remove unimplemented/unused apis
* Added progress method to notifications so no longer dependent on reactive properties
* Updated notification launch controller to use new progress method
* Added progress function to Notifications API. Introduced NotificationService compatibility layer for legacy code
* Add a toolbar provider for display layout.
* Move toolbar provider to the plugin
* basic toolbar generation
* componentize different toolbar control types
Break toolbar control types down into different parts and provide
a test toolbar generator in index.html that utilizes all the
controls.
* Get the 'Show frame' checkbox working in the toolbar
* - Remove extra listener.
- Display toolbar only when editing.
* Modify the Selection API to set s-selected and s-selected-parent attributes instead of adding to the css class names.
* Move the logic for allowing the toolbar in the edit mode to the provider.
* Use toggle-button component to toggle frame
* Delete old files
* Remove MCTToolbar
* Modify the toggle button component to return the computed value
* Remove reload=true
* Revert to the original setting
* use value from props
* Always update toolbars on edit status change
* restore fixed position bundle
* bring back reload when hmr unavailable
* Conductor fixes
- Restore RT update time field;
- Colors tweaked;
- Much better mobile layout;
* Significant fixes in Conductor markup and styling
- Markup/CSS simplified and clearer;
- Better coloring in both Themes;
- Better clarity for axis UI element;
- Fixed hover and focus styles on inputs;
- Fixed overflow problem when Inspector collapsed;
- Temp legacy styling for Plot inspection, series options, etc.
- Factored out non-useful gridTwoColumn mixin;
- Brought back legacy tree.scss file in legacy-styles.scss;
* working overlayService
* wire to snapshot, and add onDestroy Callback
* increment overlayId
* New branch from topic-core-refactor to use as central point for common
CSS work
- Manually migrated changes from vue-toolbar, expect conflicts there and
in vue-layout;
* Manually update constants-snow from vue-toolbar branch
* Update markup to use latest button classnames
- c-menu-button > c-button--menu;
- c-icon-button > c-click-icon;
* Various from vue-conductor-style
- Mods to input styling;
- Input[] styles moved to _controls;
- New/revised constants vals;
* Resolve bizarre merge conflict when applying stash
* Code cleanup
* remove duplicate div
* Alias and type-icon fixes
- More robust approach to alias indicators;
- Added alias indication to tree-item.vue;
- TODO: wire up alias indication tree-item.vue;
* Accessibility mods, convert elements to <button>
- Better reset styles for htmlInputReset mixin to allow use of <button>
without browser default styling;
- Create button;
- BrowseBar action buttons;
- c-click-icons;
- Removed Preview button from BrowseBar.vue;
* Overlay styling WIP
- Base markup pretty solid;
- Stubbed in temp values for overlayTypeCssClass in overlayService.js;
- TODO: styling for contents area;
* add options object, scope variables to show function, add destroy callback to active Overlay Object (for easier retrieval
* Saving work
* Fix conflict
* Position the panels by setting the style
* Put the div back with height set to 100% in ObjectView.
Add markup for drag handles.
* Use default position and dimensions if the layout panel is missing those values. Set s-status-editing on the main div to get the drag handles appear for now.
* Display Layout and frames major improvements
- Moved Toolbar out of Layout.vue and into DisplayLayout.vue;
- Styles for object view, Layout, Frame, etc.
- Major refactor of markup for frame;
- Added abs() mixin;
- Styles for is-editing done;
- Styles for
- TODO: styles for selectable, moveable, etc.
* Implement drill in gesture.
* Hide the background grid when a frame is drilled in
* Edit styling and toolbar WIP
- c-search styles moved mostly into mixin;
- New .c-labeled-input class;
- Browser overrides for number-type input spinners in webkit;
* Toolbar WIP
- Custom wrapped number input added;
- Toolbar buttons WIP;
* New toolbar buttons WIP
* Define a computed property for the css class object.
* Frame edit handles markup and styling
* Toolbar, editing and selection style refinements
- Moved toolbar back into Layout.vue;
- Hard-coded 'is-editing' onto __pane-main for now,
removed from DisplayLayout.vue;
- Styles for frame in LayoutFrame.vue:
-- editing default (dotted border)
-- editing .s-selected
-- .s-drilled-in (renamed .is-drilled-in)
* Refactoring button classes
- Lots of stuff broken right now;
- TODO: lots of renaming (c-menu-button, c-icon-button, etc.);
- Removed import of _controls in search.vue;
* Fixes for selection on nested selected elements
* Fix conflict
* Significant refactoring of button and click-icon classes
- Markup and CSS updated;
- Toolbar in good shape, prior to merge of vue-layout;
* Fix issues with relative font-sizing
* Add color palette markup and CSS
- Also added Layers menu example;
* Font, font-size glyphs and size menu, and more
- Added art for font glyph and renamed from .icon-T;
- Added new glyph for font-size;
- Fixed font-sizing in controls;
- Added font-size menu;
- Re-org'd toolbar items;
* Styling tweak for c-labeled-input
- Code cleanup as well;
* Fixes for toolbar toggleMenus and labeledNumberInput
* Implement resize and move for frames.
Added stub for drag 'n drop.
* Add custom checkbox control.
- Also, code cleanup.
* Add toggleButton component
- Code and examples
* Custom checkbox code cleanups, sanding
* - Persist new position/dimensions on the domain object when frames are moved/resized.
- Bypass the selection of the layout when dragging a frame is finished to keep the frame selected.
- Set the grid size to layoutGrid from domain object or use default if it's not specified.
* Fix conflict
* Implement resize and move for frames.
Added stub for drag 'n drop.
* Remove old layout view, was triggering View Switcher
and massive confusion when viewing Layouts
- TODO: add view provider for new Layout
* Enable drag and drop
* Changed example toggle-button
- Now uses show/hide frame as toggle-button example;
* Added pseudocode for handling drag/drop composition change
* Add copyright notice
* Layout frame and contained components styling
- Hyperlinks, Hyperlink buttons, Summary Widgets now use `.u-links`
which disables their pointer-events when editing;
- Hyperlink buttons, Summary Widgets now expand to fill their
containers in a Layout;
- Markup and JS for Hyperlinks, Hyperlink buttons, Summary Widgets
somewhat
modded to use new classing, applied in legacy scss files;
* Fix icon sizing error in BrowseBar
* Edit and selecting styling for Layouts
- WIP!
* Edit and selecting styling for Layout frames
- Color vars more standardized;
- Hover and *-selected styles;
* Getting vue-toolbar reverted back to latest
- Merging this branch with vue-layout may cause conflicts;
* - Implement drag ’n drop.
- Set hasFrame to a default value if it’s not set on the configuration.
- Emit an event to the parent wrapper component to update the ‘newDomainObject’ prop whenever the domain object is mutated in the display layout child component.
* Revert emitting 'update:object' event to the parent.
* New branch from topic-core-refactor to use as central point for common
CSS work
- Manually migrated changes from vue-toolbar, expect conflicts there and
in vue-layout;
* Manually update constants-snow from vue-toolbar branch
* Update markup to use latest button classnames
- c-menu-button > c-button--menu;
- c-icon-button > c-click-icon;
* Various from vue-conductor-style
- Mods to input styling;
- Input[] styles moved to _controls;
- New/revised constants vals;
* Resolve bizarre merge conflict when applying stash
* Code cleanup
* Alias and type-icon fixes
- More robust approach to alias indicators;
- Added alias indication to tree-item.vue;
- TODO: wire up alias indication tree-item.vue;
* Accessibility mods, convert elements to <button>
- Better reset styles for htmlInputReset mixin to allow use of <button>
without browser default styling;
- Create button;
- BrowseBar action buttons;
- c-click-icons;
- Removed Preview button from BrowseBar.vue;
* Fix styles that were affected during resolving conflicts
* Moved draggable into __label element rather than whole <li>
* Change the priority to 100 to get the view working properly
* Code cleanup
* Remove angular layout
* Display the object name in the frame header
* Tweaks to __header in LayoutFrame
- Name now does not overflow frame edge;
- Layout strategy now in parity with similar elements in main view;
* Remove test()
* Add a type for display layout to make it appear in the Create menu.
* Change the key type to 'layout'
* Clean up code and hide toolbar
* Enable toolbar, and revert changes in webpack config
* Remove commented code
* revert to the original code
* New branch from topic-core-refactor to use as central point for common
CSS work
- Manually migrated changes from vue-toolbar, expect conflicts there and
in vue-layout;
* Manually update constants-snow from vue-toolbar branch
* Update markup to use latest button classnames
- c-menu-button > c-button--menu;
- c-icon-button > c-click-icon;
* Various from vue-conductor-style
- Mods to input styling;
- Input[] styles moved to _controls;
- New/revised constants vals;
* Resolve bizarre merge conflict when applying stash
* Code cleanup
* Alias and type-icon fixes
- More robust approach to alias indicators;
- Added alias indication to tree-item.vue;
- TODO: wire up alias indication tree-item.vue;
* Accessibility mods, convert elements to <button>
- Better reset styles for htmlInputReset mixin to allow use of <button>
without browser default styling;
- Create button;
- BrowseBar action buttons;
- c-click-icons;
- Removed Preview button from BrowseBar.vue;
* Add copyright to .scss files; code cleanup
* Improved click area and draggable styling for tree-item
* Removed injection of domainObject
* Removed injection of domainObject
* Remove _constants-mobile.scss
- Moved used var to _constants;
- Normalize mobile detection approach in Layout.vue;
* Mobile styling for Time Conductor
- WIP!
* Mobile styling for Time Conductor
- New modalFullScreen mixin;
- Datepicker now a fullscreen modal element in body.phone;
* Adding edit mode API and buttons
* Select navigated object by default. Enable table configuration in edit mode.
* Fixed issue with Table configuration
* Removed debugging code
* Added basic documentation to Editor API
* use selectable, table is selection[0], inspector cleans up
Update browse to set selection using openmct.selection.selectable
on navation so that selection contexts can be determined correctly.
Update table configuration to reference the first item in selection
instead of the last item in selection when displaying.
Update inspector code to remove display node from document on destroy.
* properly remove capturing handler
* inspector views respond to editing
InspectorViews respond to editing instead of openmct rerendering
the inspector on edit.
* Refactoring conductor to use Vue
* Conditionally render Time Conductor
* Created ConductorOptions SFC
* Copyright notice examples
* Added time system selector component
* Use capture for event bubbling with popups
* Added Conductor Axis. Simplified Axis formatting and removed scale formatting from formatters. Added date picker.
* Sync axis on zoom
* Fixed sync between conductor and axis
* Changed 'InspectorComponent' to 'ConductorComponent' in Layout. Fixed race condition with panning and RequestAnimationFrame
* Renamed properties in conductor to clarify their role. Fixed some bugs
* Removed old conductor
* Fix layout issue with legacy Conductor markup
* Added missing copyright notice
- Fixed sorting and filtering on non-string columns
- Fixed warnings about missing required prop and invalid default value in table rows
- Fixed error occuring when formatting non-existent column
Update ObjectView to better support reuse in layout and preview.
Register as component, and then mount like so:
<object-view :object="domainObject"></object-view>
It will show the default view for that object. If you want to
specify a specific view type, you can pass an optional "view" prop
which will specify the view key to load.
* dynamically generate create menu items, populate before mount
* make reviewer requested changes:
1.Use type.get to get type definition
2.Fix type adapter for creatable properties
3.populate menu items in data function, and inject openmct
* use simpler data name (item) and remove prefix string from key
* Object browse bar IN PROGRESS
* Object browse bar VERY WIP
* Object browse bar WIP
- view-control renamed to disclosure-triangle;
- Good progress on object browse bar elements;
* Object browse bar WIP
- Layout of start-side elements now working with ellipsis;
- TODO: cleanups and consolidation;
* Object browse bar shippable
- Better layout approach;
- Refinements to button classes;
* Sanding and shimming on misc styles
- Tree icon shrinkage fixed;
- c-icon-button much better relative sizing;
- Removed c-button-set wrapper from Layout.vue;
- Added uppercasing of Create button for Snow theme;
* working object name, css class
* working dynamic name, css classes and view switcher
* working entries... wip
* componentize entries
* embed ability with drag into entry
* snapshot action partial
* working search
* abstract EntryController, working search, drag and drop
* keep deleteEntry local to entryController
* working snapshotOverlay
* fix snapshot object
* abstract Embed Controller, working context menu, working remove embed
* working preview action in embed context menu
* add overlay header with timestamp
* working annotate and new entry contextual
* Remove old notebook
* use same key, remove extra style files
* working embeds
* fixed markup for snapshot overlay
- Allow 'editable' property on view providers to optionally be a function
- CSVExporter now only exports visible columns. Updated CSVExporter to ES6 exports / imports
- Shortcut sortedIndex in insert if value is outside of first or last value in collection
- Added table view icon
* Separate browse object from conductor
* Main layout convert to flex; padding and overflow at leaf node
* Inspector converted to BEM - WIP
- Properties pool upper level styles converted;
- Grid mixins moved out of Inspector and into _mixins;
* Refinements to misc elements
- user-select: none on tree;
- :before and :after reset globally to use box-sizing: border-box;
- li reset globally;
* Styling for buttons and menus; add Create button
- WIP
* Context and Create menus
- WIP
* Add glyph backgrounds as data URIs
- For Create menu, items grid;
- Objects only;
* Create menu refinements
- Min/max height handling;
- Code cleanup;
* Main layout head styling; various sanding
- head layout refined;
- c-icon-button, c-button-set added;
- background glyph mixin refined;
- Antialiasing refined to increase icon sharpness;
* Fix SVG data URLs: encode # chars as %23
* [Table] Use Vue SFCs
Use Vue SFCs. Use inject/provide to pass services to components
instead of wrapping components in closures.
* Convert CSS to BEM - WIP!
- All in progress;
- Headers table divorced from old;
- Sizing working properly at this point;
* Reset legacy file, undo unintended change commit
* Convert CSS to BEM - WIP!
- All in progress;
- Sizing table divorced from legacy;
* Convert CSS to BEM - WIP!
- All in progress;
- Table body divorced from legacy;
* Convert CSS to BEM - WIP!
- Near done, converted tabular-holder from legacy;
- Unit testing in main view and in Layout frames;
- Modded legacy CSS to properly hide control-bar with new naming
when in Layout frame;
* Convert CSS to BEM - done
- Cleanup and organization;
* Convert CSS to BEM
- Further code cleanup;
* Convert CSS to BEM
- Further code cleanup;
- Remove legacy table style imports;
commit 9b735b4f70bf4d21f64a1e418a5f9d7342567104
Author: Pete Richards <peter.l.richards@nasa.gov>
Date: Fri Aug 31 16:31:48 2018 -0700
Slight HTML tweak
commit 3e58e140f9ea3640e5551d5f43abf837610c6fb4
Author: Pete Richards <peter.l.richards@nasa.gov>
Date: Fri Aug 31 16:26:36 2018 -0700
[Inspector] Wire up elements pool
Elements pool wired up to show angular elements pool.
commit d9c60f31bd6d32a5d2e2227d5476edd81e2e4360
Author: Pete Richards <peter.l.richards@nasa.gov>
Date: Fri Aug 31 13:56:04 2018 -0700
[Inspector] vue inspector
Create a vue inspctor which responds to selection events and shows
object properties and inspector views.
* Reimplemented tables in Vue
* Updated table configuration to remove table namespace, and support column width in future.
* Fixed table configuration persistence
* Updated vue tables to use ES6 style function notation
* Move to webpack build
* Use webpack for building openmct. Move SCSS to one folder and load
all core css up front. Remove bower, begin removing gulp in favor
of npm run.
* Uses eslint instead of jshint and jscs. Merge style checking rules
into .eshintrc.js, carrying over core parts of crockford style and
our adaptations. Current code base fails to pass the linter, want
to separate linter changes from fixes to linting rules.
* Support for Vue SFC with example
* Remove outdated examples
* Use HTML loader for html (supports relative imports of resources e.g.
images) and raw-loader for when javascript must be loaded as text.
When a plot series is constructed, it checks to see if should set a
default interpolation based on the persisted configuration. However,
the persisted configuration wasn't available until after construction
which resulted in the default value always being set.
Pass the persisted configuration through the constructor to ensure the
plot series can make the right decision about defaults.
Fixes#2120.
When a new series is added to a plot, a plot series form controller
is instantiated and passed in a domain object via scope that it will
mutate upon changes. If a mutation results in a composition add, then
the plot series form controller needs to get a version of the domain
object with the updated composition array, which it was not previously
doing.
This fixes#2120.
Bounds change triggers a clearing of plot history, which triggers
a user interaction change, which was triggering a second query.
This change sets a flag to prevent the requery from the user interaction on
bounds change. This flag could potentially be reused elsewhere, e.g. if we
wanted to prevent requery when not utilizing a minmax data source.
fixes#2126
* initial v2 config
t # This is a combination of 10 commits.
fix indent errs
fix indentations
run prepare manually
run prepare manually
remove indent
remove indent
remove indent
remove indent
remove indent
Misc
fix npm prepare
Install gulp
use gulp locally
use checkout
use old job
use old job
build-<test
build-<test
change
change
change
change
change
* add gulp as devdep
* local npm commands
* use node8
* cache bower components
* use npm to run checkstyle
* remove circlev1 config
* store artifacts
* clean up naming
fixes#1933
* first release of deprecated timeline
* Better deprecation message and use unknown icon class
* Update deprecated-timeline-message.html
Added a period to end of sentence.
* remove unused files, and commented code - If we need timeline again we can recover from git
* Provide link to tracker in deprecation message
* add and remove corrensponding class to capture better images (wip)
* pass class through exportAsPng and exportAsJpg directly
* pass classname from stacked plots into exportImageService
* Adding additional export styles
Fixes#2088
- WIP
* WIP export styles
Fixes#2080
- Styling WIP;
- Moved styles into plots-main.scss;
- Change to how plot hashes are rendered;
* add class before clone, because adding it on clone was not rendering new css styles
* Export styles
Fixes#2080
- Code indenting cleaned up;
- Additional styles for export;
- Added hide effects for .h-local-controls and unsynced state;
* Apply class to cloned element only
* [Plot] Allow 0 in plot y axis bounds
Allow 0 values in plot y axis bounds. Also properly re-do validation
when changing from a bad value to the previously used good value.
Fixes https://github.com/nasa/openmct/issues/2082
* [Plot] separate config index from composition index
Locate the configuration index by checking identifiers instead of
relying on order of composition to match order of configuration.
Ensures that editing a plot after reordering composition does not
edit wrong object.
Fixes https://github.com/nasa/openmct/issues/2101
* [Plot] refactor form controllers, separate concerns
Refactor form controllers to simplify the plot options inspector.
Individual plot models each have a form controller which handles
three way binding between the scope, model, and domain object configuration.
Added support to linkFields for dynamic object paths so that mutations
always find the right object in the configuration instead of breaking
when indices change.
* support deferred init for sub-object selection
* Style fixes
* Remove assignment to window
* Merge adapter bundles
Merge adapter bundles into consistent location.
Update telemetry API to not incorrectly expose the format service
on window.
* openmct available on window for developers
* remove offending comma
* snapshot - when taking a snapshot of overlay, select object-holder vs the entire overlay. This fixes plots not being captured
* remove new Notebook entry from context menu - fixes issue #2098
* add licence information for Painterro - fixes issue #2108
* add watch for defaultSort - fixes issue 2102
* dont allow snapshot action from imagery
* fix checkstyle error
Fixes#2103
- Added div that is set to the calculated table width. When
filtering is such that no rows are present in the tbody
of the table, this element will still force a horizontal
scroll in that area, allowing the user to horz scroll the headers;
* Use datum key of 'utc' for timestamp
* Do not try to get column values for data that does not have those values
* Collapse current time system columns
* Noop parsing for numbers in LocalTimeFormat
* Do not attempt to provide data for columns that object does not have telemetry for. Fixes#2027
* [API] Added Indicators API
* [Indicators] Converted Follow Indicator to new Indicators API
* [Indicators] Converted URL Indicator to new Indicators API
* [Indicators] Changes to some legacy indicators for compatibility with new Indicators API
* [Indicators] Addressed code review items from https://github.com/nasa/openmct/pull/1837
* Updated tests for URL Indicator
* Adding Indicator API spec
* Address linting issues
* Switched to direct DOM manipulation rather than template compilation to avoid an unnecessary extra holder element
* Updated documentation to reflect changes to API
* Indicators api styling (#2076)
Updated styling for Indicators
* Update API TOC
* Fix color of items w-mct-example areas of Style Guide
Fixes#1837
* Status class refactoring and cleanups
Fixes#1837
- Significant cleanups and name refactoring to allow more
concise selector definitions, with changes in js, html and scss files;
- Updates in Style Guide > Status page, with some content
reorganization and clarification;
* Corrected out of date API
* de-zeptoed Indicator API test spec
* Remove promise from URLIndicator
* Separated legacy indicators support
* Updated Indicator specs to Jasmine 3
* Fixed checkstyle and lint issues
* Moved legacy indicators support to adapter folder
* Various fixes for Indicators
Fixes#1837
- Added SASS constants for Indicator colors;
- Removed commented code;
- Removed unused indicator classes from _messages.scss
- Fixed missing s-status-on class;
* Significant revisions to Style Guide Indicators content
Fixes#1837
- Better documentation including recommendations;
- Better and more concrete examples;
* Style Guide example tweaks
Fixes#1837
* Refinement to Style Guide Status and Limits content
Fixes#1837
- More detail and clarification on Status and Limits;
* Cleanup code
Fixes#1837
- Remove commented styles;
- Line return refinements;
* Updated Karma and Jasmine versions
* Added DOMObserver class. Supports promise-based testing of DOM changes
Update asynchronous test specs to use promises or done() instead of waitsFor/runs
* Modified ActionCapability to duplicate context object properties as own properties for better object equality comparisons
* Global find + replace to fix syntax issues
* Fixed various issues caused by non-deterministic runtime order of tests in Jasmine 3. Fixed issues caused by changes to determination of object equality
* Addressed review comments
* Resolved merge conflicts with master
* Fixed style errors
* Use spy.calls.count() instead of manually tracking
* first revision
* [Frontend] Styling for sticky table headers
Fixes#1481
- WIP convert mct-table layout to use flex;
- TODO: fix flex layout when a small number of rows;
- Rename CSS classes used as selectors by JS;
* remove header height from calculations since it is outside in its own table now
* [Frontend] Styling for sticky table headers
Fixes#1481
- Fixed flex layout when a small number of rows;
- Refined input padding and dropshadow for more compactness;
* fix tests and verify tables works properly in layout and large view
* add mct-scroll to header table to allow scrolling in sync with the rest of mct-table
* Various fixes and polishing
Fixes#2071
- Fix headers height issue;
- Move inline styles to classes;
- First round fix for horz overflow due to scrollbar problem;
* WIP horz overflow
Fixes#2071
- Commented out CSS-based scrollbar with approach in
anticipation of better JS solution;
* Horz overflow/scrollbar problem fixed
Fixes#2071
- Added calcTableWidthPx to allow sizing-table to subtract
width of scrollbar;
* Remove commented code
* add clear icon back into filter text boxes
* Polishing on sticky table headers filtering
Fixes#1481Fixes#2071
- Now hides the magnify glass in table header filters when typing;
* removed unused file
[Plot] Properly update yAxis on key change.
yAxis should update after the key for a series changes.
Fixes#2025.
[Plot] improve y-axis label handling
First, change the y-Axis label retrieval to retrieve the proper
value from the plot confoguration so that it uses the persisted
value, Fixes#2024
Secondly, when removing a series, if there are no series left in
the plot and a custom y-axis label has not been specified, then
clear the y-axis label. Fixes#2014.
[Plot] don't use incorrect index in selected check
Alias the series form data so that it is not always necessary to
access it using $index. This prevents $index getting clobbered
when looping over select options which results in the correct option
getting marked as selected.
Fixes bug reported in pull request review:
https://github.com/nasa/openmct/pull/2026#pullrequestreview-117404172
* [Frontend] WIP New local-controls classes
Fixes#2000
- h-local-controls
- Markup in plots changed
- Changed reset plot button's icon
* [Frontend] WIP local-controls classes
Fixes#2000
- Refactoring to use and apply local-control classes consistently;
- Plots and imagery done in main view and Display Layout contexts;
* [Frontend] WIP local-controls classes
Fixes#2000
- Use local-control classes in Timelines;
- Group Timeline buttons in l-btn-set;
- Use reset icon glyph;
* [Frontend] WIP local-controls classes
Fixes#2000
- Slight increase in size to buttons in frame context;
* [Frontend] local-controls classes
Fixes#2000
- Code cleanup;
- Update Style Guide content;
- Provisionally done, needs unit testing and double-checking;
* [Frontend] Better selecting in browse mode
Fixes#2000
- Better colors and approach to selecting in browse mode;
* [Frontend] Tweaks to pane collapse mini-tabs
Fixes#1758Fixes#2000
- Enlarged mini-tabs and moved to screen top;
- Removed duplicative theme-based constants;
* [Frontend] Tweaks to "nav up" arrow button
Fixes#1758Fixes#2000
- Increased hit area of .l-back "nav up" arrow in object-browse-bar;
* [Frontend] Glyph improvements
Fixes#1758Fixes#2000
- New arrow glyph for view controls;
- Increased hit area of view controls in tree for mobile and desktop;
- Better "hamburger" menu glyph;
* [Frontend] Inspector refactor to CSS grid WIP
Fixes#1758Fixes#2000
- WIP!!!;
- Good progress on Properties section;
* [Frontend] Inspector refactor to CSS grid WIP
Fixes#2000
- Significant mods to CSS and markup;
- New grid archetypes classes;
- Added title attribs to plot options edit and browse props;
- Added value, alarm markers to plot series browse props;
- Nearly done (?) but needs unit testing and cleanups;
* [Frontend] Minor tweaks to form and form-row
Fixes#2000
- Fixing margin problem with .form-row;
- h2 instead of div.section-header;
* [Frontend] Fixed H2 in Elements pool
Fixes#2000
* Refinements to Time Conductor
Fixes#2000
- Tweaks size of fixed position grab ticks;
- Positioning refinements to ticks and text;
- Hide major tick marks;
* Hide View Large button for nested hidden-frame Layouts
Fixes#2000
- When a layout is nested and has its frame hidden, hide the
View Large button;
* Better hiding of Time Conductor "Submit" button
Fixes#2000
* Re-added new icon-arrow-right-equilateral glyph;
Fixes#2000Fixes#2078
* Remove commented styles/markup
Fixes#2000Fixes#2078
* Repaired approach to hiding Time Conductor Submit button
Fixes#2000Fixes#2078
- Renamed .off to .invisible and added refinements;
* Fixed wrong conflict resolutions; polish search
Fixes#2000Fixes#2078
- .invisible instead of .off in search.html;
- Minor polishing to search;
fixes#1758fixes#1763fixes#2011
* Refactoring export to json to use new style objects
* Added convenience function to Object API to get identifiers as strings
* Updated tests for ExportAsJSON
* Fixed bug with parent composition not being updated with new ID. Also rewrite IDs in configuration etc. Fixes#2042
* NASA - OPEN MCT NOTEBOOK UI PROTOTYPE CHALLENGE
https://www.topcoder.com/challenge-details/30059614/
Initial submission
* Code updates:
-Topcoder final fixes
-NASA review fixes
* drag and drop style fix, new entry focus, delete display fix
* NASA reported issues fixed:
objects saved in notebook, delete entry dialog, style files, and new entry from drag objects fixed.
* Annotation toolbar UI style fixes, added annotation functionality on new entry dialog
* painterro .map file issue fixed.
* NASA review fixes:
css files adjusted
notebook children tree removed
embed's title links to live object
* CouchDB documentation added
* CouchDB documentation added
Screenshots added.
* CouchDB setup documentation added
* Test case functional and cosmetic issues fixed.
* Test cases functional and cosmetic issues fixed.
* updated file saver library
* Code issues fixes:
NotificationLaunchIndicator deleted.
Inappropriate modifications to domain object models fixed.
Implemented $destroy listener on entryDnd directive.
Naming conventions fixed.
Unnecessary changes made to platform handled.
Painterro dependency handled
gulp verify fix.
* names and package fixes
* filenames fix
* [Notebook] Relocate to platform/features/notebook
* [Notebook] Remove obsolete README
* [Notebook] Restore original index.html
* [Notebook] Expose via openmct.plugins
* [Notebook] Remove demo entries
* [Notebook] Run gulp fixstyle
* [Notebook] Use dot notation instead of brackets
...for checkstyle
* [Notebook] Remove extra comma
* [Notebook] Run gulp fixstyle
* [Notebook] Use dot notation instead of brackets
...for checkstyle
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Run gulp fixstyle
* [Notebook] Include painterro for tests
* [Notebook] Fix require config for painterro
* [Merge] WIP markup and styling
Fixes#1896
- Very much WIP, currently having issues with
hovering and jiggling
* [Merge] WIP markup and styling
Fixes#1896
- Very much WIP, attempting to convert
textarea to contenteditable;
* [Merge] JS debugging
Fixes#1896
- Very much WIP!
* [Merge] JS debugging
Fixes#1896
- Really, really WIP
- DnD doesn't work properly, and drag to
existing entry no longer works.
* [Front-end] Notebook thematic styling; test console
Fixes#1896
- Added thematic styles and config;
- Really, really, really WIP!!
- DnD doesn't work properly, and drag to
existing entry no longer works.
* [Merge] Cleanups in JS
Fixes#1896
- Removed and commented out logging statements
* [Merge] WIP SCSS and markup polishing
Fixes#1896
- Significant style and markup changes;
- Styles, layout, etc. relating to embed elements;
- Fixes in both notebook.html and embedControl.html;
- Class name normalization;
* [Merge] WIP Mods related to MCTModalNotebook.js
Fixes#1896Fixes#1906
* fix drag and drop, delete entries
* [Front-end] Refined styling of entry embeds
Fixes#1896
* [Merge] Generalized hover hide/show of local controls
Fixes#1896
* [Merge] Generalized labeled icon-* elements
Fixes#1896
* [Frontend] CSS normalizing, apply general styles in markup
Fixes#1896
- Notebook class names more individualized;
- Apply .labeled and .has-local-controls general classes;
- Apply .s-input-inline to contenteditable div;
- Look and feel cleanups for drag area and entry elements;
* added modifiedOn time for entries that are changed, and fixed issue regarding inner text being filled when new entry button clicked
* [Frontend] CSS sanding and cleanups
Fixes#1896
- Removing unused classes;
- Finessed margin and padding;
* [Frontend] Mobile styling
Fixes#1896
- Mod .has-local-controls to not apply when in touch context
* [Frontend] WIP Mobile styling
Fixes#1896
- phone portrait entry layout optimization
* fix expand in layout, which was causing snapshot at expand
* [Frontend] Fixes to search control
Fixes#1896
- Search control now more robust, added
.search-filter-by-type class selector;
* [Frontend] Fix custom Selects
Fixes#1896
- Custom Selects now much more
solid, handle width compression better;
* remove duplicate code from MCTModalNotebook and roll changes into MCTTriggerModal
* [Frontend] WIP Mobile styling
Fixes#1896
- Fixed general approach to portrait orientation in
mobile/_layout.scss to use media query;
- Fixed portrait layout in _notebook_base.scss
to use media query;
* prevent multiple new notebook entry divs from being created on open overlay, instead create on initialization
* [Frontend] WIP Snapshot styling
Fixes#1896
- Better class names;
- Moved buttons in frame layout;
* remove frame layout duplicate and use frame.html
* fix issue of preserving line breaks when text is received from a persisted source
* add comments, clean out some code, and fix broken tests
* fix export image after merging with master
* include painterro in karma config
* Inlined templates for notebook
* disable view policy - to allow layouts to function - needs more investigation
* fix layout display overload, remove viewpolicy and notebookLayout.html. Fix delete error - issues found when deploying for testathon
* fix (not being able to focus on content editable div to add text, while in layout)
- when in layout, the first child of the outermost div is the only one that registers a click, this was causing an issue of not being able to edit notebook entries. My fix includes finding the first child of the div that registers the click and forcing a focus event.
* fix focus one new entry issue, cleanup of code related to finding elements, and write more reusable code
* abstract findElementById for reusability and improve performance from O^2 to O
* user findElementById in entrydnd
* change snapshot library to dom-to-image
* [Frontend] WIP Snapshot styling
Fixes#1896Fixes#1947
- Significant markup changes to template in ViewSnaphot.js
- WIP!!! Keeping own topic branch for now
* [Frontend] WIP Snapshot styling
Fixes#1896Fixes#1947
- Significant markup changes to ViewSnaphot.js;
- Change in imagery.scss to move non-layout styling
to appropriate class;
* Removed snapshot from version number to close sprint eagle
* Updated version number for Enterprise release
* Lock filesaver version (#1956)
Lock filesaver version as there have been a large number of broken
builds from what should be non-breaking version increases.
Fixes currently broken build.
* [Frontend] Snapshot styling
Fixes#1896Fixes#1947
- Final tweaks after rebase from
notebook-integration-deep-styling
* fixes issue of overlay not closing when context menu item in clicked when viewing snapshot
* [Frontend] Painterro styling
Fixes#1896Fixes#1947
- WIP
- Painterro styling overrides and config
- Removed commented code
* [Frontend] Painterro styling
Fixes#1896Fixes#1947
- WIP
- Painterro styling overrides and config
* fixes issue of overlay not closing when context menu item in clicked when viewing snapshot
* specify require paths for new library
* [Frontend] Local controls CSS added for hide/show of trash can icons
Fixes#1896Fixes#1947
- Also updated frame.scss to use same transition timing
* proper shimming
* dragging objects to notebook now only creates a link, clicking on snapshot from object view takes a snapshot of the current view, without re-rendering
* [Frontend] Local controls CSS added for hide/show of trash can icons
Fixes#1896Fixes#1947
- Also updated frame.scss to use same transition timing
* select correct div for snapshot
* [Frontend] Adding background color to snapshot
Fixes#1896Fixes#1947
* remove snapshot class after async image render
* [Frontend] Adding background color to snapshot
Fixes#1896Fixes#1947
* remove snapshot button from frames in layout
* remove snapshot from frame view, add it only to overlay, change mctSnapShot to accomodate taking snaps of overlay/object view
* add preview action, working, need styling for notebook action on preview
* fix checkstyle
* change glyph for preview, use similar tempalte to frame.html
* dont allow preview action on objects getting edited currently
* changes to browseController and NavigationService to block navigation and show preview of object when trying to navigate to object in tree in edit mode
* [Frontend] Painterro styling and config
Fixes#1896Fixes#1947
- Changes mainly related to toolbar styling and labels
* [Frontend] Notebook/Preview related sanding and polishing
Fixes#1947
- Changed description for notebook-new-entry
* [Frontend] Notebook/Preview related sanding and polishing
Fixes#1947
- Added new global "hide-in-t-main-view" class;
- Apply new class to Preview action to suppress
display of that button in main view of navigated object;
* code cleanup
* [Frontend] Notebook/Preview related sanding and polishing
Fixes#1947
- Classes for Notebook Entry button spacing;
* abstract overlay into a service/api - to reduce code duplication
catch error produced by painterro because of async div creation by dialog service
* fix broken mcttriggermodal tests
* fix checkstyle and lint
* add functionality of being able to add buttons to the browse bar element of overlay when instantiating the overlay service
* Reduce frequency of template recompilation in mct-include
* Use updated painterro library. Fixes#1981
* add save flag and call done in both cases (clicking on cancel or ok)
* fixes#1951
persist modified empty entry on blur
* Bump Node Version
* fix checkstyle
* fixes issue where annotating snapshot that is already saved in notebook does not work
* fix painterro button styling issue
move jquery logic inside timeout block, because buttons are asynchronously created
* remove description required when saving snapshot to notebook
* remove create snapshot action from embeds, and add preview action to embeds
* fixes edge case for issue #1981
Add a reject callback in the edgecase that user presses the x icon or esc key to cancel annotation, which was leading to the drag drop issue
* Add default sort options on creation menu of Notebook
* fix auto focus on new entry when in oldest first order, both in layout and regular view
* [Frontend] Notebook mobile mods
- Hide entry area when mobile;
- Disallow entry edit or delete in mobile;
* fixes issue 2041 (#2049)
* fixes issue 2041
allows user to select caret position in notebook entries while in layout
* [Frontend] Restore class, refine selector
Fixes#2041Fixes#2049
- Restored .s-input-inline to editable field;
- Refined pointer-events: none to properly target .title-label only;
* remove unused files/code and smoke test
* remove , add pre-wrap to css and use inner text
* make reviewer requested changes 'in progress still'
* make reviewer requested changes 'continued'
* replace html2canvas with dom-to-image
- add in progress dialog to export image service
- add error dialog to export image service
* Search UI refactored to use flex
Fixes#1947
- Fixes broken search inputs in main search and Notebook;
- Significant rewrite to search SCSS and markup;
* Fixes for Notebook custom selects; polishes to search
Fixes#1947
- Better flex styles for custom selects;
- Refinements to search styling;
- Much better mobile responsive layout for search and controls
in portrait layout;
* fix preview action for embeds, which was showing current domain object vs selected domain object
* Fixed hidden search dropdown menu
Fixes#1947
* Revert whitespace change
Revert change to whitespace in index.html. #1947.
* [Export] Use html2canvas
Use html2canvas instead of dom-to-image. Fixes issues with text
exports. html2canvas is better supported and under active
development and is a better choice for this library. Cleaned up
export code, ensure that images are properly saved as the correct
types.
related to feedback on #1947
* Don't show brackets when timestamp is not specified (#331)
* [API] Implement a toolbar registry and a plugin to allow providing a toolbar for a selected object.
* Modify the mct-toolbar directive to get the toolbar structure from a provider based on selection.
* Implements the layout toolbar in the layout bundle
* [Folder] List view load fix
-List view data takes long time to display, has to do with Angular not triggering its digestive cycle when switching views
-Resolved issue by explicitly triggering the digestive cycle
-Fixes issue #2067
* Added comment to clarify code addition
fix#2069
* Build columns from union of telemetry value metadata. Do not manually clean up scope. Fixes#2027. Fixes#1884. Fixes#1817.
* Fixed tests that are failing on circle-ci
* Inlined getMetadataValues function
* [Notifications] Added timestamp and object name to copy notifications \n
-Fixes issue #331
-Added timestamps to all notifications
-Added object name to copy success notification
-Updated placement and style of notification timestamp as discussed with Charles.
* [Frontend] Viewport metatag updated
Fixes#2008
- Added shrink-to-fit=no;
* [Frontend] Fix to Time Conductor for Safari
Fixes#2008
- CSS mod for gradient blockers in TC
* [Frontend] Remove data visualization element in TC
Fixes#2008
- Note: this element holds the TOI indicator!
* [Frontend] Hide TC ticks when on mobile
Fixes#2008
- Added class `mobile-hide` to <conductor-axis>
* [Frontend] Significant mobile fixes for panes and viewport
Fixes#2008Fixes#1770Fixes#1928
- Left and right panes now positioning properly in mobile;
- Fixed body overflow problem for #2008 "viewport" issue;
* fixes multiple issues related to 2008
context menu firing too often - fixed by setting a isDragging flag
Add and Remove respective classes on mobile orientation change by using mathMedia
Close tree pane when navigating in mobile portrait only
* [Frontend] Various
Fixes#2008
- Always show Timeline zoom controls;
- Prevent inline editing of object names in the main view when in
mobile;
* Add touch functionality to mct-drag
it allows users to use the splitter in mobile
and include appropriate tests
* remove couchdb and reinstall localStorage
* [Frontend] Mods to imagery CSS
Fixes#2008
- Reduced size of image thumbnails;
- Changed min-heights of image and thumbnail
holders for .mobile.phone
* [Frontend] Add Advanced CSS property to Display Layouts
- WIP!
- Add property to bundle;
- Add CSS for column, row and fit-all classes;
* [Frontend] Grid holder and class prefixing
- WIP!
- Edit grid-holder set to position: absolute
- Added "fl-" prefix to fluid layout class names;
* [Frontend] More CSS tweaks
- WIP!
* [Frontend] Added .drag-vertical
- For use in Elements pool;
- Applied in elements.html;
* fix: check if stats is present before reseting zoom (#2029)
* [Timer] Fix regression in timer visual indication and add tests
* [TimeConductor] Fixes Issue #925 (#2020)
* [TimeConductor] Fixes Issue #925`
- Pressing enter in date field will update bounds properly in Safari
* [Copyright] Update copyright year across platform code references
Fixes#2034.
* fixes issue #1999 - Use Object name as default export filename (#2001)
* fixes issue #1999
add dynamic name(object name) to exportAsCSV filename
* make requested changes
* [Frontend] Add Advanced CSS property to Display Layouts
- WIP!
- Add property to bundle;
- Add CSS for column, row and fit-all classes;
* [Frontend] Grid holder and class prefixing
- WIP!
- Edit grid-holder set to position: absolute
- Added "fl-" prefix to fluid layout class names;
* [Frontend] More CSS tweaks
- WIP!
* [Frontend] Added .drag-vertical
- For use in Elements pool;
- Applied in elements.html;
* [Frontend] More CSS tweaks
- WIP!
- Added .fl-phone-best-fit
* working drag and switch, need to mutate
* fix conflict
* add ability to rearrange composition using drag gestures
* add maxHeight and maxWidth to layout frames
* [Frontend] Added fl-mobile-best-fit
* [Frontend] Allow editor to set mins dimensions for fluid layout
- Cleanups in CSS;
- Mod to LayoutController.js to use minWidth and minHeight;
* [Frontend] Styles for reordering in Elements pool
- Changed class "dragging" to "reordering";
- Visual styling WIP;
- TODO: style "reorder-actor" when implemented;
* add reorder-actor class to draggable item in elements pool when selected and remove class when dropped
* stacked plots reload on composition change
* [Frontend] Tweaks to Elements pool reordering styles
- "reorder-actor" added/removed from parent tree item;
- Refined styling for drag in process in list;
* [Frontend] Added new 12px list view glyph
- Font files and CSS updates;
* [Frontend] Added new 12px grippy glyph
- Font files and CSS updates for Elements pool sorting styling;
* fix failing test
* make reviewer requested changes
* remove create dialog from mobile
Fixes#2008
* Viewport metatag updated
* Fix to Time Conductor for Safari
* Remove data visualization element in TC
* Hide TC ticks when on mobile
* Add touch functionality to mct-drag
* Reduced size of image thumbnails; Changed min-heights of image and thumbnail
holders for .mobile.phone
* remove create dialog from mobile
Users must draw a marquee box with diagonal size of atleast 7.5
pixels. This prevents clicks from being translated to zooms on
the plot. Because startMarquee triggers a plot history update.
endMarquee must remove the plot history update when preventing
marqueeZoom. This has a side effect of causing a requery for
data, but is a simple enough solution for now.
Fixes#2002.
* State generator realtime uses strings
Change the state generator's realtime data to return string values
instead of number values. This exercises an edge case where
enumerations could be a string instead of a number. Exposes #2018.
* [Telemetry] handle string enumeration value
Don't treat all strings as properly formatted enumeration values.
Instead, check any input value against known enumerations and if
one matches, return it. Otherwise, return input.
Fixes#2018
* Summary Widgets produce telemetry
Adds a summary widget telemetry provider and metadata provider to
the summary widget plugin. Supports subscribing to realtime
summary widget evaluations without needing the summary widget UI.
Fixes https://github.com/nasa/openmct/issues/1893
* Use metadata to determine telemetry types
Update summary widgets to use metadata to determine telemetry types.
fixes https://github.com/nasa/openmct/issues/1801
fixes https://github.com/nasa/openmct/issues/1883
* shared evaluators, more telemetry values
Share summary widget evaluators to reduce number of times a object
needs to be loaded when dealing with multiple queries.
Fixes https://github.com/nasa/openmct/issues/1893
* Separate view for editing
fixes https://github.com/nasa/openmct/issues/1827
* Update summary widget tests
* Workaround incorrect telemetry capability application
In the case where an object support telemetry but does not support
the specific type of telemetry request i.e. a summary widget has
request for lad but not for historical, an error will be thrown.
* use makeKeyString
use makeKeyString when storing configuration of objects in summary
widgets. Otherwise, namespace information would not be properly
tracked. Fixes https://github.com/nasa/openmct/issues/1949
* [Tests] coverage for EvaluatorPool
Add tests for EvaluatorPool and fix a bug where the same evaluator
was returned for different objects.
* Add copyright headers
* Update metadata provider registration
* attach title to a element
* Only evaluate realtime when all data available
* Prevent update after destroy
* Don't error when no telemetry exists
* Don't mutate on view destroy
Improper removal of listeners was triggering a mutation on view
destroy, which happens after the initial persist call to server
that occurs when saving. This mutation occurs after the edit
transaction has been closed, which would result in an immediate
persist call. This can cause a race condition when the first
persist call has not completed, which causes a 409 conflict and
a persistence error.
Fix#1827
* Spec for telemetryProvider
* update on time system change
Summary Widgets now resubscribe and requery for data when time
system changes, in order to ensure they're showing the correct
data to the user.
* link to telemetry request details
* rename variables, update jsdoc
Addresses comments in https://github.com/nasa/openmct/pull/1943
* [Frontend] Refactor SCSS to remove deprecated @includes
Fixes#1891
- In progress
* [Frontend] Refactor SCSS to remove deprecated @includes
Fixes#1891
Making bourbon happy by refactoring to-be-deprecated
calls to prefixing @includes:
- transform and related CSS;
- flex and related CSS;
- Fixed double semi-colons to single;
* force update to latest image when history is received
* force update to latest history image on response received
* remove console log"
* change requestLAD function to last item in array, in case response is an array with more than one item
* fix checkstyle
* remove requestLAD because its requesting history twice in cases where server does not have latest flag
* [Toolbar] set selection initially in fixed controller and toolbar...
... to make the add button appear in the toolbar when a fixed position is created.
Remove selection change listener on destroy.
Start a digest cycle when handling selection in toolbar to avoid delays in toolbar.
Fixes#1991, #1987
* fixed checkstyle and lint errors
* Fix tests
* Update comment
When webgl contexts are lost, fallback to 2d rendering context.
Because it's not possible for a canvas to generate a different
context after one has already been created, the canvas elements
must be recreated from scratch, and event handlers must also be
updated.
This resolves https://github.com/nasa/openmct/issues/1976
Plot waits for element to have width before loading. Otherwise,
it may make a minmax request with an invalid size parameter.
Fixes https://github.com/nasa/openmct/issues/1974
* [Testing] Create unit tests for Tests API
* [Documentation] Fix spelling in TypeRegistry.js
* update TypeRegistrySpec to conform to code review
use .get() on typeRegistryInstance
Fixes#1514
Pin to specific d3 major/minor versions while allowing new
patches. Previously, we were pinned to major versions only, and
minor versions contained changes to the distributed files which
would result in broken builds.
This should hopefully prevent broken builds from dependency updates.
* [API] Support dynamic telemetry metadata
Add support for dynamic telemetry metadata via custom telemetry
metadata providers.
The metadata provider API should be considered unstable in it's
current invocation.
* Perform deprecation checking at runtime
* SWG uses telemetry metadata provider
* Don't throw with no matched metadata provider
* Update API docs
* Add license header
* Combine metadata providers with general telemetry providers
* Replace `TelemetryAPI.canProvideTelemetry` with
`TelemetryAPI.isTelemetryObject`.
* CanProvideTelemetry is deprecated
* Change SWG inputs to numberfield
Lock filesaver version as there have been a large number of broken
builds from what should be non-breaking version increases.
Fixes currently broken build.
* [Plugin] Add static root plugin
Add StaticRootPlugin, which allows a file exported with the ImportExport
plugin to be mounted as a static root in Open MCT. Allows deployers
to configure standard displays for deployments by exporting displays they
have already created.
* Include all src files
* Fixes#1938
Fixed usage of Telemetry API, use hints to get valueMetadata, use valueMetadata to get formatter
* dont circumvent chooseTelemetryKeyToDisplay, which was causing a regression when imagery is added to fp
* fix broken tests
* pass valueMetaData to limitEvaluator.evaluate, rename #chooseTelemetryKeyToDisplay to getValueMetadata, to reflect what is returned.
update tests
* change getValueMetadata to chooseValueMetadataToDisplay
Merge of new plot
* Introduces new Plot object and view
* Removes Old Plot
* Add LAD support and state type to generators
* Removes Telemetry Panel Type
* Telemetry API Updates
* UTCFormat.parse: passthrough numbers
* TelemetryAPI: default request arguments
* TelemetryAPI: fix enum formatting
* Markup and styling to support new plots
All views are expected to implement dynamic composition handling
by listening for the "add" and "remove" events and then calling
"collection.load()" when they are ready to handle these events.
However, it does not make sense that every composition provider will
be dynamic, so implementing support for dynamic composition should
not be a requirement. This commit removes that requirement.
Fixes#1914
* Defaulted background option to white for PNG/JPG export
* Attempt at fixing background colour on image output
* Reverted build location change
* WIP for white background
* WIP for white background
* Updating default colour, including saving of existing colour to restore appropriately
* Fix tests and move css change background outside the try block
* keep consistent with american english
* add method to change background color and test wether it has been called with the right params
* change color to original when save fails
Fixes#1422
add offsetX to popupService instance in infoService, to prevent bubble from appearing under the mouse pointer, which causes interminent calls to the callback.
Update the insertion point check with shortcutting behavior
for appending / prepending objects, which is the common case
for sorted inserts on initial table load (when large numbers of
records are inserted). This allows O(1) performance for the
common case while maintaining O(log n) performance for the edge
case.
Only enable datum dupe checking in collection after data
has been received. This works under the assumption that a
single telemetry request will not contain duplicate elements,
thus, it is not necessary to check for dupes on the initial
request.
Improves performance when rows are sorted by a column
that has duplicate row-values.
Updates to sub object selection, first cut of selection APIs.
* [API] Add inspector view registry to register inspector view providers and show a view in the inspector.
[API] Modify the selection API to register the click event and handle the event. The API will add a class to the selected object and the immediate parent of the selected object.
[Directive] Implemenet mct-selectable directive for making an element selectable.
[Layout] Update the layout controller to use the Selection API. Also, add double click gesture to allow drilling into a selected object.
Populate the Elements pool with contained elements of the selected object. Update toolbar and inspector to listen for the changes in selection.
* [Frontend] Mods to markup and CSS for sub-object selection
* MCTSelectable allows selection in initialization, use to select on navigation
[Frontend] Show grid in first nested layout, hide from deeper nesting. Only show grids when applicable to relative selection.
* Fix checkstyle and lint errors
* Bring back the change that made mct-init-select work
* [Inspector] Make sure the right content is displayed based on whether a view provider exists or not.
* Only show table options when editing
* Make reviewers' requested changes
* Fix broken tests
* [Frontend] Cleanups and tweaks
Fixes#1811
- Cleanups between frame, editor and selecting.scss;
- Hover and selected borders visually pumped up a bit;
- Solid borders on hover and selecting when browsing;
- Dashed borders for layouts when editing;
- Fixed cursor to only show move capability when
element is selected;
* [Frontend] Tweaks to frame.no-frame layout
Fixes#1811
- Margin set to 0;
- Overflow set to hidden;
* [Frontend] Fixed position items border width fixed
Fixes#1811
- Set to 1px;
* Add tests for inspector controller and fix broken tests. Clean up code.
* [Fixed Position] Stop event propagation on click handlers in fixed position to avoid the event reaching the selection click handlers which caused issues with toolbar and selection."
* Fix tests
* Add tests
* Add test
* Remove element from document
Rewrite Autoflow tabular using Vue and all new telemetry APIs. Also adds LAD support to autoflow tabular.
* [Autoflow] Add Vue dependency
...to begin refactor away from Angular, #1810
* [Autoflow] Add Vue to require config
...to support usage in refactoring Autoflow Tabular view.
* [Autoflow] Sketch in new plugin registration
* [Autoflow] Bring over template, without Angular
* [Autoflow] Add license headers
* [Autoflow] Add VueView
...to simplify addition of Vue-based views.
* [Autoflow] Add Vue bindings to template
* [Autoflow] Sketch in AutoflowTabularView
* [Autoflow] Include title for row names
* [Autoflow] Begin adding controller
* [Autoflow] Sketch in controller functionality
* [Autoflow] Support object filtering
* [Autoflow] Unlisten from controller on destroy
* [Autoflow] Track rows on an interval
* [Autoflow] Support column width changes
* [Autoflow] Expose new plugin through openmct.plugins
* [Autoflow] Fix run-time errors instantiating view
* [Autoflow] Fix row generation error
* [Autoflow] Fix row formatting
* [Autoflow] Utilize width
* [Autoflow] Update autoflow view when filter changes
* [Autoflow] Enable autoflow for telemetry panels
...in developer environment.
* [Autoflow] Bind data-value for rows
* [Autoflow] Include limit evaluations
* [Autoflow] Rename property rows to rowCount
* [Autoflow] Retain rows during update
* [Autoflow] Add bindings to clear autoflow filter
* [Autoflow] Show updated timestamp
* [Autoflow] Remove obsolete plugin
* [Autoflow] Load vue for tests
* [Autoflow] Begin adding spec for autoflow tabular plugin
* [Autoflow] Test plugin registration
* [Autoflow] Begin spec for AutoflowTabularView
* [Autoflow] Obey contract from VueView.show
...by populating a container, instead of replacing it.
* [Autoflow] Begin testing behavior
* [Autoflow] Get initial row heights
* [Autoflow] Verify unsubscription on destroy
* [Autoflow] Test column width button
* [Autoflow] Simplify controller activation/destruction
* [Autoflow] Verify data display
* [Autoflow] Test limit display
* [Autoflow] Fully initialize controller
* [Autoflow] Add missing semicolon
* [Autoflow] Separate out constants
...to access them from tests
* [Autoflow] Use constants from spec
* [Autoflow] Test autoflow behavior
* [Autoflow] Refactor test case
...to support tests for composition changes
* [Autoflow] Add test cases for composition change
* [Autoflow] Handle composition changes
* [Autoflow] Sketch in row controller
https://github.com/nasa/openmct/pull/1816/files#r153015544
* [Autoflow] Integrate row controller
https://github.com/nasa/openmct/pull/1816#pullrequestreview-79305103
* [Autoflow] Add tests for historical request
* [Autoflow] Request historical telemetry
* [Autoflow] Remove unused active flag
* [Autoflow] Clarify row destruction
...to avoid problems with binding destroy
* [Autoflow] Fix mistake in test
* [Autoflow] Simplify waiting for view updates in test
* [Autoflow] Move filtering, autoflow to view
* [Autoflow] Remove unused caching
* [Autoflow] Remove obsolete method reference
* [Autoflow] Fix lint errors
Add missing semicolon, remove unused vars
* [Autoflow] Refactor test to simplify emitting events
* [Autoflow] Emit add events during load for testing
...to simulate the actual behavior of this method.
* [Autoflow] Provide composition in mock
...to allow constructor-time usage of dependency from controller
* [Autoflow] Avoid intermittent errors
...by checking to see if tabularArea is available before
accessing its clientHeight; depending on the timing of
setInterval versus Vue's mount event, it may not be!
* [Autoflow] Use add/remove composition events from controller
...exclusively, instead of attempting to load again and triggering
an infiniute loop each time.
* [Autoflow] Test that composition does not reload
* [Autoflow] Expect identifiers for remove events
* [Autoflow] Simplify row-matching test
* [Autoflow] Combine down to a single integration test
* [Autoflow] Remove possible test race condition
* [Autoflow] Add JSDoc
* [Autoflow] Remove excess test case
...which is no longer needed after combining behavioral tests for
view into a single spec.
* [Autoflow] Remove unused destroy call
https://github.com/nasa/openmct/pull/1816/files#r154787335
* [Autoflow] Use requestAnimationFrame in tests
...to avoid brittle change detection.
https://github.com/nasa/openmct/pull/1816/files#r154785549
* [Autoflow] Use MCT instance for spies
...such that test case becomes sensitive to API changes in MCT.
* [ViewAPI] Update view API with more support
Update view provider to allow metadata definitions and to play
nicely with old style views.
Spec out some updates to ViewProviders and ViewRegistry to
support further use of views.
* [Summary Widgets] Add summary widgets
Add a summary widget domain object type
Implement basic interface and style configuration for rules
* [Summary Widgets] Implementation for Rules
Add rule configuration inputs, populated with domain objects, metadata,
and appropriate operations for a given type
* [Inputs] Add implementation for icon palette
Issue #1644
Wire up icon palette inputs to widget, and make icon class a persistable
property of a rule
* [Summary Widgets] Implementation for conditions
Support configuring and persisting multiple conditions per rule
Issue #1644
* [Summary Widgets] Generate Rule Descriptions
Dynamically update the rule description based on the current state
of the rules' conditions
* [Summary Widgets] 'Any/All Telemetry' in conditions
Add UI and implemenetion for evaluating any telemetry or all telemetry
in an individual condition. Add related unit tests.
* [Summary Widgets] Rule Reorders
Implement drag and drop rule reorders using the native HTML5 API
* [Summary Widget] Test Data
Issue #1644
Add user-configurable mock data to test rules. Modify evaluator to
gracefully handle uninitialzed test data points.
* [Summary Widgets] Edit Mode
Enable edit mode for summary widgets, and make configuration interface
visible only when the user has entered edit mode
Fix collision between widget palettes and other interfaces where
palettes would permanently hide other menus
* [Summary Widgets] UI for scripted conditions
* [Sumamry Widgets] Destroy
Implement destroy
* [Summary Widgets] Cleanup
Remove unnecessary persist calls in Rule.js.
Remove generateDescription from refreshConditions and add it after refreshConditions to initCondition and deleteCondition
Throw error when unsupported callback is passed in condition.js, return summary widget instance in plugin.js instead of wrapping in new object for view
Add request properties to telemetry request for providers that support it
Remove check for editing when persisting, in SummaryWidget.js
Adds URLIndicator to the build, testable adding
`openmct.install(new openmct.plugins.URLIndicatorPlugin({
url: 'http://localhost:8080/',
icon: 'check',
interval: 15000,
label: 'Localhost'
}))`
to the openmct file. Also added Documentation about the plugin.
* [imagery] fix for issue #1799
if there is no immediately new imagery incoming, forward to latest image in history on un-pause
* add test to check whether image is forwarded to latest image on un-pause
prevent EditorCapability#finish from calling transactionservice#cancel when transactionService was not active - leading to console error everytime user would leave edit mode
Add tests for changes made and also to check for return type in either case (isActive or not)
Update Object API such that get supports calls with either a keystring or an
identifier.
As save and delete are not implemented and have different calling signatures,
implement them as separate methods so they can be documented separately.
* [List] Use standard format for modified/persisted times
This provides consistency with other times and dates in the user interface,
and also provides a meaningful sort order due to the use of ISO formats for
standard date/time presentation. Fixes#1730.
* Remove unused dependency
Clear regions when a view is destroyed. This causes a view's
destroy method to be correctly invoked, allowing views to do
cleanup. Used by NSS heatmap view for sprint Alice,
https://github.com/nasa/openmct/projects/1
Remove the line break that is added when the return key is pressed.
Check the current target directly.
Use textContent for inline editing instead of innerHTML, which will hoist up some HTML content implicitly created around user input for a contenteditable span.
Note that there is a removeAllRanges in addition to a blur here; see
https://stackoverflow.com/questions/4878713/how-can-i-blur-a-div-where-contenteditable-true
Fix broken tests.
Fixes#1757
Made the contenteditable attribute conditional based on whether the object can be edited or not. If the object is not editable, the attribute is removed.
Add Tests.
Fixes#1746
Fixes#1729
Internal markup and CSS now sets heights
internally - menu height will now not be smaller
than the list of menu items OR the description
area;
* [Plot] Check for telemetry panels
...from plot view policy, and don't try to interrogate them
for telemetry metadata that they will not have.
Fixes#1728
* [Plot] Update test case for policy
...to provide an adapted object with expected properties
* [Plot] Add tests to very plot policy for panels
...to verify fix for #1728
* [Build] Preserve comments instead of adding header
...to avoid disrupting sourcemaps. Fixes#1707
[Build] Remove extraneous horizontal rule from header
[Build] Remove obsolete header-handling
...as this is handled by the replace task after fix for #1707
[Build] Move version headers into start.frag
...so that UMD boilerplate does not wrap it.
[Build] Handle version info entirely in start.frag
[Build] Replace build variables in start.frag explicitly
[Build] Inject build info dynamically
[Build] Test MCT.specifyBuildInfo
[Build] Mark BUILD_CONSTANTS as global for jshint
[Build] Give names to version line items
[Build] Fix specifyBuildInfo test case
* [Build] Update fix to sourcemaps for code review feedback
https://github.com/nasa/openmct/pull/1708
[Build] Move build info registration to plugin
https://github.com/nasa/openmct/pull/1708#discussion_r138999027
[Build] Use build info plugin
...instead of specifyBuildInfo
[Build] Revert changes to MCT, per code review
Update policy to detect any range. As a simple way to prevent
detecting messages, it will not apply when every range is a string
format.
fixes https://github.com/nasa/openmct/issues/1713
Add history imagery under large imagery view.
Allow users to click on history imagery thumbs to set main image and pause the imagery view.
Allow users to unpause and continue imagery stream.
Users can adjust the height of the imagery panes, and the user selected height is persisted.
Added context actions for importing and exporting JSON representations of domain objects. Added FileInputService for triggering file picker and retrieving uploaded data. Also added a File Input form control for integration with MCTForms.
Added ability to show/hide object frames via a toggle button in the
edit toolbar. All objects have frames by default except for ‘hyperlinks’.
Also, implemented object selection in the layout and added tests for new features.
Fixes#1658.
Fixes#1677
Refactor and re-organize alert and status colors;
Rename _limits.scss to _status.scss;
Style Guide additions in progress;
VERY WIP, NEEDS UNIT TESTING FOR REGRESSION.
New Tab automatically appends hideTree and hideInspector params to hide those panes by default
Add appropriate tests for new functionality and fix broken tests
Fixes#1677
Removed `<tr>` support; modded existing styles to allow
color-only application for red and yellow limits; added
`*-icon` classes for red and yellow limits;
Fix to Issue #1646
Persist MCTSplitPane widths to local storage, thus when user reloads, the Panes maintain dimensions
Use persisted widths if available otherwise use default
Add tests for localStorage and fix failing tests
Update example telemetry providers to limit the number of
datums generated so that queries for long time ranges will
not cause undesired behavior in demos.
When loading the application and no time system is set,
the url handler should not cause multiple errors to be
logged.
This adds a test for the case but does not specify the
expected behavior in detail, other than "it should not
crash."
Fixes bugs as reported here.
The telemetry API detects when a subscription has already been made for a
given domain object and does not subscribe for that object a second time.
Removes a concern from those developing telemetry providers.
Also ensures that telemetry providers ALWAYS get request options, even if
no request options were provided.
Adds basic tests for the Telemetry API to validate this behavior.
Fixes https://github.com/nasa/openmct/issues/1594
Update the telemetry adapter to gracefully handle cases where
a range value is not found via hints. This allows telemetry objects
that don't have ranges to still work with some old style displays
When browse controller is hijacking a browser navigation event,
it calls preventDefault on the route change. This has the effect
of preventing all changes in the location (including search changes).
This change checks if other changes were made in the route change and
re-applies them after the navigation has completed.
Fixes a bug where navigating via a link that contained additional
search paramterers would have the effect of navigating but not
keeping the parameters in tact.
Discovered in the course of fixing #1636
Update time conductor so that it triggers changes when the user
selects them instead of when the scope is updated. Prevents spurious
changes from being triggered by the conductor when it updates
in response to a time API change.
Fixes#1636.
Implemented auto-scrolling historical imagery view in ImageryController. Imagery domain objects now request historical data on each manual bounds change. Added new specs for ensuring that historical data is requested on bounds change and duplicate bounds / datum are ignored.
For elements created before this change where useGrid is not defined,
default it to true to ensure consistent display size
Inline constant definitions in unit tests if they are only used once
Update the TimeSettingsURLHandler to check for changes to the search
parameters and only trigger a bounds change when there is a change.
Added integration tests between Time API and settings url handler.
Prevents extraneous bounds events.
Fixes https://github.com/nasa/openmct/issues/1636
Change the input for grid units/pixels to a simple checkbox toggle from a
dropdown menu.
Add a new specialized AccessorMutator class to support this operation.
Fix code style issues per Victor's review
Add toggle to work in pixel space or grid space, per the issue description.
Each element stores a boolean property that determines whether or not it
snaps to grid space or pixel space. Coordinates are converted between spaces
on toggle, preserving the size of the element in pixels.
To complete: change UI element for toggle to a checkbox.
Added individual property inputs to the toolbar for height, width, x,
y, and line endpoint coordinates in fixed/bundle.js.
Added "edit<Property>" AccessorMutators for height and width to each
of the element proxies, so these properties can be exposed only for
elements where it makes sense (e.g. boxes, but not lines, since lines
are better controlled by endpoint coordinates).
Added a method "checkNumeric" to ElementProxy.js , to be used
to restrict inputs to integral values for position and size
textfield inputs.
Current issues: endpoint coordinate inputs have undexpected behvaior,
handles disappear after using the input fields to modify element
properties.
Added individual property inputs to the toolbar for height, width, x,
y, and line endpoint coordinates in fixed/bundle.js.
Added "edit<Property>" AccessorMutators for height and width to each
of the element proxies, so these properties can be exposed only for
elements where it makes sense (e.g. boxes, but not lines, since lines
are better controlled by endpoint coordinates).
Added a method "checkNumeric" to ElementProxy.js , to be used
to restrict inputs to integral values for position and size
textfield inputs.
Current issues: endpoint coordinate inputs have undexpected behvaior,
handles disappear after using the input fields to modify element
properties.
* [Time Conductor] Skeleton class for URL handling
#1550
* [Time Conductor] Scaffold in param handling
* [Time Conductor] Finish sketching in URL handler
* [Time Conductor] Usage correct constants for bounds
* [Time Conductor] Use start/end for bounds/deltas
* [Time] Move URL handler
Per discussion, https://github.com/nasa/openmct/issues/1550#issuecomment-308849449
* [Time] Rename URL handler
* [Time] Rename URL handler script
* [Time] Use Time API from URL handler
* [Time] Utilize Time API
* [Time] Listen for changes, synchronize URL
* [Time] Move URL handler into adapter
...as it uses Angular constructs.
* [Time] Wire URL handler into adapter bundle
* [Time] Pass correct constructor arguments to URL handler
* [Time] Begin debugging URL handling
* [Time] Clarify and correct logic for bounds/deltas in URL
* [Time] Define timeSystem
* [Time] Pass start/end into time API as numbers
...instead of strings.
* [Time] Avoid creating redundant objects
* [Time] Restructure fixed vs clock logic
* [Time] Stop clock correctly for fixed mode
* [Time] Fix hasBounds/hasDeltas logic
...given that both inputs will be strings when read from search params,
_.isFinite was doomed to return false.
* [Time] Check for complete information
...before updating Time API to reflect search state. Additionally,
flatten logic to ease readability.
* [Time] Begin testing TimeSettingsURLHandler
* [Time] Test fixed mode query string updates
* [Time] Test realtime mode query string updates
* [Time] Test update of time API from query params
* [Time] Add missing semicolons
Satisfies JSHint; fixes#1550
* refactored code for listView
* minimum viable folder list functionality
* moved listview directory inside of platform/features
* [Folder ListView] First Code Review Fixes
Changes made:
Updated listview icon as the hamburger menu.
Injecting listview template as textfile instead of using the template's url.
Added callback to $scope to listen for $destroy to release resources for the mutation listener and the gesture recognizer.
Refactored ListViewController formatting function to use map instead of foreach.
Added listview plugin to the default registry.
Updated table styling.
* working progress commit. ListViewControllerSpec is implemented and all tests are passing. MCTGestureSpec is not fully implemented. Testing the gestureService release is in progress.
* All tests in MCTGestureSpec and ListViewControllerSpec are passing.
* ListViewControllerSpec and MCTGesture Tests all passing.
* refactored variable names in ListviewController to make more sense.
* [Frontend] Styling of Luis's list view WIP
Fixes#1615
This will have conflicts with Luis's work,
be careful!
* [Folder ListView] Second Code Review Fixes
Changes made:
updated listview to utilize open-mct sorting style.
added license comments to all files.
modified mctgesture interface to use $scope.eval().
* [Frontend] Styling of Luis's list view WIP
Fixes#1615
New list-view glyph added
* [Frontend] Styling of Luis's list view WIP
Fixes#1615
Changed name of "Items" view to "Grid";
* [Frontend] Styling of Luis's list view WIP
Fixes#1615
Updated icomoon project file with new list-view
glyph e1042;
* [Folder ListView] Second Code Review Fixes
Changes made:
updated listview to utilize open-mct sorting style.
added license comments to all files.
modified mctgesture interface to use $scope.eval().
* [Frontend] Styling of Luis's list view WIP
Fixes#1615
Refined cursor CSS;
* [Frontend] Styling of Luis's list view WIP
Fixes#1615
Added logic to refine how sorting occurs:
now, clicking a table header that wasn't
the orderByField always sorts by its default;
This change is based on the following code review:
- Display the entire list of timezones, regardless of what's currently entered.
- As soon as the user typed (or deleted chars in the input) then that filtration would take over the list display
Fixes#1437
Markup and CSS for `view large` button in frame context;
Sass formatting cleanups; removed unused styles from
_layout.scss; mods to MCTTriggerModal.js to remove
button label functionality;
Added new "icon-expand" glyph and class;
Fixes#1437Fixes#1423
New overlay > l-dialog and l-large-view classes;
Fix context-menu z-index to allow context menu
to appear in the overlay;
.object-top-bar refactored and replaced with
.object-browse-bar;
frame > hover now only displays local controls for
proper level, handles nested layout situation;
Fixed font-weight display issues;
MCTTriggerModal.js modified to do the following:
- Remove .frame classes when displaying object in overlay
- Allow click on this overlay .blocker to dismiss overlay
Fixed min-width issue incorrectly targeting .object-browse-bar in frame context;
Added expand anim to large view holder;
Changed close button icon
Significant mobile styling and cleanups;
Markup mods for overlay.html;
Handles dialog on top of large view;
Form validation now displays better in mobile;
Updated /src/api/ui/dialog.html to be in-line
with /platform/commonUI/dialog/res/templates/overlay.html;
Moved border-radius from containerBase to btnBase mixins;
Animate with scale for GPU acceleration
Change desktop animation to use scale, so that it is hardware
accelerated and buttery smooth. Also fixes text anti-aliasing
to improve readability.
Moved mobile/overlay/_overlay.scss styles into
overlay/_overlay.scss; removed mobile/overlay/_overlay.scss;
Cleanups in _overlay.scss; restored max-width/max-height
to dialogs (removed in #1376 for #1298) and added
min-width;
[Frontend] Mobile fixes in overlay and related
Fixes#1437
Added mobile-specific styling to _messages.scss;
Fixed button layout and margins in _overlay.scss;
Fixed message.html to not default to major style
buttons;
[Frontend] Timing tweaks
Fixes#1437
Moved large view expand transition duration
into theme _constants files; shortened anim
duration
Fix Style errors
[mctTriggerModal] correct scope for toggle
Correct scope for toggleFunction such that #1503 no longer occurs.
Fixes#1503
[Style] Add copyright header
Use private parts of new composition API for generic search indexer
so that all objects are properly accessible in search results.
Also prevent ROOT object from getting indexed but still traverse
composition. That way, "The root object" no longer shows in search
results.
Update tests to cover changes.
Fixes#1579
Allow timeSystem to be changed without specifying bounds when
a clock is present and can provide bounds. This simplifies
bootstrap code.
https://github.com/nasa/openmct/issues/1581
When a menu option that specified an invalid time system with a
clock, the time conductor controller would log an error claiming
that the clock was unknown when in fact the time system is the
culprit.
Remove the error message as the plugin handles this validation
already. Also removed some unused code.
https://github.com/nasa/openmct/issues/1580
Update conductor validation logic to trigger easier-to-understand
error messages for bad configurations.
Update default-setting-behavior to properly set clock and offsets
when the default option is clock-based menu option.
Only set defaults when timeSystem has not already been configured.
fixes https://github.com/nasa/openmct/issues/1580
Update time API to tick immediately after setting a clock using
the currentValue of the clock. This ensures that bounds will
be set when the clock is set, instead of waiting for the next
tick to occur.
fixes https://github.com/nasa/openmct/issues/1582
Remove examples of format implementations. The docs stated
incorrectly that UTCTimeFormat used the additional parameters
for the format method when it did not actually use those
parameters.
With our current landscape of telemetry providers, parse can
frequently be called on an already parsed value, so added
documentation to highlight the importance of an idempotent
parse method.
Cleanup related to change of file locations in:
https://github.com/nasa/openmct/issues/1574
Always include basic formats; removing them from the utc format
bundle. This way, they can be utilized by third parties without
them having to commit to the utc time system.
Fixes https://github.com/nasa/openmct/issues/1574
Ensure telemetry request options always have a certain number
of fields-- start, end, and domain. This allows telemetry providers
to implement necessary filtering for these types of requests.
Update warning message with correct wording, and change
check for label property such that a blank label will also
trigger the deprecation warning.
Addresses feedback from https://github.com/nasa/openmct/pull/1571
Update docs to reference domain and range. Also added additional
documentation for the Telemetry API based on a previous draft of
the docs.
https://github.com/nasa/openmct/issues/1546
Track the updated composition of an object before notifying any
listeners. Otherwise, any composition listener that mutates the
object would cause an infinite loop.
Detected in implementation of the new plot.
When no path is specified, don't throw error. Navigate
to default, as expected.
When navigating to root, navigate to the last child
of root instead. This handles cases where DEFAULT_PATH
is not found (e.g. deployments without "mine").
Remove a check for an invalid return value, update the spec to
return the proper value. Also updated the subscribe method
to fetch defaults the same as the request method.
https://github.com/nasa/openmct/pull/1544
Update the formatter mock to implement the expected methods, such
that formatting occurs properly.
Remove a test that was validating the execution of a method
as this was smelly-- it's not the method that is important, it's
the result (that couldn't be obtained without the method).
Edited for consistent period and parentheses usage throughout:
- Removed periods at the end of each element in a list of nouns.
- Placed periods outside parenthetical statements that aren't complete sentences themselves.
- Placed periods at the end of sentences without punctuation.
Around line 143, gave "constants" its own bullet point. Although it is a form of variable or field, it also forms a separate style element with a different guideline. It's also easier to find when skimming when separated - for new contributors who need to learn the style, and veteran contributors who are just double checking.
Added TelemetryCollection to handle bounds and buffering. Avoids loss of telemetry due to timing mismatch between telemetry providers and tick sources
Fixed issues with removal and addition of objects
Set up TC so that it is always enabled and defaults to realtime mode.
This allows us to have warp-like functionality without showing
the TC interface, and simplifies a lot of tutorials. We can still
reconfigure the TC by re-installing the plugin with different settings
Fix search item so that navigation occurs after clicking on
a search result, while still properly preventing navigation
when required.
Related to #1366
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.
Based on feedback from tutorial sprint, update provider API,
formatter API, and legacy adapter code.
Providers can now implement separate checks for providing realtime
and historical data, and providers are not registered with a specific
strategy. Strategy is instead intended to be an attribute in the
request options.
Removed unused code in the telemetry API and simplify limitEvaluators.
Stop application from requesting bundles.json at first load. This was
confusing to some external developers who would see an error in the
log and not know the cause.
Historical and real-time data flowing
Added formatting, and limits. Support telemetry objects themselves and not just composition of telemetry objects
Apply default time range if none supplied (15 minutes)
Fixes#1233
Additional content; adding size classes to
input[type="text"] to allow direct application to
the input; added placeholder styling and related
thematic constants.
Make a separate chart directive for drawing resource graphs in timelines. This
is in preparation for a new plot bundle which will make a large number of
changes to the drawing API to support newly requested features. By separating
code, there will be no impact to the timeline when the new plot features are
added.
Set key on represent so that commit function can properly persist
configuration per object type. Add tests to EditRepresenter
Fixes https://github.com/nasa/openmct/issues/1367
BrowseController uses new MCTTreeView parameters to prevent navigation
events before triggering digests. It also no longer sets navigation
more frequently than it should.
https://github.com/nasa/openmct/issues/1360
EditObjectController now exits edit mode when it is destroyed.
It also injects a check function in the navigation service to
replace the old functionality implemented in EditNavigationPolicy.
https://github.com/nasa/openmct/issues/1360
Remove mct-before-unload, and move the functionality to the navigation
service. The navigation service considers "unload" to be a navigation
event and prompts in much the same way as it would before any other
navigation event.
https://github.com/nasa/openmct/issues/1360
Remove policy checking in navigation action and depend on navigation
service to provide those checks.
* Register checkFunctions with navigationService.checkBeforeNavigation
which returns a function for unregistering them.
* navigationService.setNavigation will run checks before allowing
navigation, unless a `force` argument is supplied.
https://github.com/nasa/openmct/issues/1360
Add methods to tree view via scope for more fine grained control.
Can supply a "allowSelection" function which should return true
if a given selection is allowed. This is executed before a node
is selected and allows you to prevent selection. Before this, if
you wanted to prevent the selection from changing, you had to wait
for it to change and then change it back to the original value.
Can also supply an "onSelection" function which is called when a
value is successfully selected. This allows you to handle the
selection event without waiting for digest. You can still $watch
"selectedObject" if you prefer.
Additionally, this changes the tree node to trigger a digest only
when the value is set via a MouseClick, instead of every time.
Tidies up directive scope bindings to clarify usage.
https://github.com/nasa/openmct/issues/1360
Simplify edit registration and remove extra abstractions. No longer
attach a status listener for every representation-- just use a single watch
for the edit controller. Simplifies logic involved in switching controllers.
https://github.com/nasa/openmct/issues/1360
* [Edit] Added notifications to SaveAsAction
* [Edit] Added notifications to SaveAction
* [Edit] Update SaveAsActionSpec
* [Edit] No error notif when user cancels SaveAs
Add TelemetryMetadataManager which assists developers in interrogating
telemetry metadata to find values that are useful for them.
Add TelemetryValueFormatter to simplify the parsing (retrieval of numerical
values) and formatting (retrieval of displayable string value) of datums.
https://github.com/nasa/openmct/issues/1310
* [Generator] Support more config, data rates
Update sinewave generator to use webworker, have more
configuration options. Now supports higher data rates.
Also wrote telemetry provider for new API, and updated
legacy provider as well while we flesh out the telemetry API.
Fixes https://github.com/nasa/openmct/issues/1337
* Proper Step Timing, proper value passthrough
* Remove unused value, remove non-functional plugin
Remove an unnecessary datum value, `time`, and remove the new style
plugin -- which does not actually work -- to prevent confusion.
Addresses
https://github.com/nasa/openmct/pull/1353#pullrequestreview-12571665
* [Time Conductor] Prevent route change on setting search parameters. fixes#1341
* [Inspector] Fixed incorrect listener deregistration which was causing errors on scope destruction
* Bare route is redirect to browse
* [Browse] handle routing without breaking $route
Manage route transitions such that route changes are properly
prevented and navigation events occur while still updating the url.
Resolves a number of issues where path and search updates had
to be supported in a very hacky manner.
https://github.com/nasa/openmct/pull/1342
* [URL] Set search without hacks
Changes in previous commit allow the search parameters to be modified
without accidentally triggering a page reload.
https://github.com/nasa/openmct/pull/1342
* [Views] Update on location changes
If the user has a bookmark or tries to change the current view of an
object by specifying view=someView as a search parameter, the change would
not previously take effect. This resolves that bug.
https://github.com/nasa/openmct/pull/1342
* [TC] Set query params to undefined
Instead of setting params to null, which would eventually result in those
parameters equaling undefined, set them to undefined to skip the extra
step.
https://github.com/nasa/openmct/pull/1342
* [Instantiate] Instantiate objects with context
Add context to instantiate objects so that they can be navigated
to for editing.
https://github.com/nasa/openmct/pull/1342
* [Tests] Update specs
Update specs to match new expectations.
* [Style] Fix style
* [TC] Remove unused dependency
Remove $route dependency from time conductor controller as it was
not being used. Resolves review comments.
https://github.com/nasa/openmct/pull/1342#pullrequestreview-11449260
* [Composition] provide ids, sync via mutation
Composition provides ids, and we sync things via mutation. This
simplifies the composition provider interface some, and also
fixes some issues with the previous default composition provider
related to #1322fixes#1253
* [Style] Fix style, update jsdoc
Fix style, update jsdoc, clean up composition api changes for
Fixes#1322
* [Style] Tidy and JSDoc
* [Composition] Utilize new composition API
Ensures that composition provided by new API works in old API.
Some functionality is not present in both places, but for the
time being this is sufficient.
https://github.com/nasa/openmct/pull/1332
* [Utils] add tests, fix bugs
Add tests to objectUtils to ensure correctness. This caught a bug
where character escapes were not properly applied or removed. As
a result, any missing object that contained a colon in it's key
would cause an infinite loop and cause the application to crash.
Bug discovered in VISTA integration.
* [Style] Fix style
* [Roots] Depend on new api for ROOT
Depend on new API for ROOT model, ensuring consistency when
fetching ROOT model.
* [Style] Remove commented code
Closes https://github.com/nasa/openmct/pull/1287.
Squashed commit of the following:
commit af9ba3095859684cb2465f1d5222a14db231fdb7
Merge: c98286d31308b1
Author: Pete Richards <peter.l.richards@nasa.gov>
Date: Fri Nov 25 14:57:32 2016 -0800
Merge branch 'open1193' into open1287-integration
Resolve conflicts in glyph files as documented in pull request:
https://github.com/nasa/openmct/pull/1287#issuecomment-263030180
Closes https://github.com/nasa/openmct/pull/1287
commit 31308b1076
Author: Andrew Henry <andrew.k.henry@nasa.gov>
Date: Tue Nov 22 17:08:10 2016 +0000
[Time Conductor] Addressed code review comments. Fixes#1287
commit db6386e21c
Author: Henry <akhenry@gmail.com>
Date: Wed Nov 9 11:52:39 2016 -0800
Removed redundant ConductorService
commit a9ec8db8c6
Merge: fc36674dfa4591
Author: Henry <akhenry@gmail.com>
Date: Wed Nov 9 08:23:07 2016 -0800
Merge branch 'master' into open1193
commit fc36674b5c
Author: Henry <akhenry@gmail.com>
Date: Wed Nov 9 08:23:01 2016 -0800
Updated wording of docs
commit d0906baccf
Author: Henry <akhenry@gmail.com>
Date: Fri Nov 4 10:48:05 2016 -0700
Fixed TOI not showing
commit 099c56c407
Author: Henry <akhenry@gmail.com>
Date: Fri Oct 28 16:46:06 2016 -0700
Fixed failing tests
commit 7cc008ed01
Author: Henry <akhenry@gmail.com>
Date: Fri Oct 28 10:28:41 2016 -0700
Added tests for tables, TOI controller
commit b0901e83cb
Author: Henry <akhenry@gmail.com>
Date: Thu Oct 27 10:42:31 2016 -0700
Added tests for ConductorAxisController and TimeConductor
commit dfed0a0783
Author: Henry <akhenry@gmail.com>
Date: Wed Oct 26 18:07:50 2016 -0700
Added ConductorAxisController tests
commit c3322e3847
Author: Henry <akhenry@gmail.com>
Date: Tue Oct 25 20:54:24 2016 -0700
Added tests for MctTableController
commit 8e76ebb5a8
Author: Henry <akhenry@gmail.com>
Date: Tue Oct 25 15:48:15 2016 -0700
Removed debugging code
commit 93735bc404
Author: Henry <akhenry@gmail.com>
Date: Mon Oct 24 15:13:45 2016 -0700
Removed bundle definition of MctAxisController
Documenting code
commit a942541724
Author: Henry <akhenry@gmail.com>
Date: Sun Oct 23 19:54:01 2016 -0700
[Time Conductor] Fixed memory leak due to listeners not being deregistered
commit 49e600dcc9
Author: Henry <akhenry@gmail.com>
Date: Sat Oct 22 16:47:11 2016 -0700
[Time Conductor] Fixed zoom slider behavior
commit f5806613b9
Author: Henry <akhenry@gmail.com>
Date: Sat Oct 22 14:46:14 2016 -0700
[Time Conductor] support TOI from real-time tables
commit 029d2b3058
Author: Henry <akhenry@gmail.com>
Date: Thu Oct 20 14:32:34 2016 -0700
[Examples] Simplified MSL example, fixed object tree not loading by default, renamed. Fixes#1256. Fixes#1255
commit 482eb4a5e8
Author: Henry <akhenry@gmail.com>
Date: Sat Oct 22 13:09:05 2016 -0700
[Time Conductor] Using new API
commit 843c678b0b
Merge: b56ab0a08ca765
Author: Henry <akhenry@gmail.com>
Date: Fri Oct 21 10:21:22 2016 -0700
In process of merging
commit b56ab0aac2
Author: Henry <akhenry@gmail.com>
Date: Wed Oct 19 16:30:26 2016 -0700
[Time Conductor] Implement default sort, fix unpredictable positioning using % left, set TOI on conductor init. #1193
commit d12ae77d95
Author: Henry <akhenry@gmail.com>
Date: Wed Oct 19 11:29:42 2016 -0700
Further TOI improvements
commit 22564473b5
Merge: 9f3ec3b86b51f6
Author: Henry <akhenry@gmail.com>
Date: Tue Oct 18 16:32:12 2016 -0700
Merge branch 'open1193' of https://github.com/nasa/openmctweb into open1193
commit 9f3ec3b18f
Author: Henry <akhenry@gmail.com>
Date: Tue Oct 18 16:31:59 2016 -0700
Fixed issue with scrolling to row after bounds change
commit 86b51f6cde
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Mon Oct 17 17:19:50 2016 -0700
[Frontend] Small refactor for mct-include
Fixes#933Fixes#1193
Markup and CSS tweaked to support using mct-include
as the main container for the TOI element; TC, plots
and tables all updated.
commit dadca62955
Author: Henry <akhenry@gmail.com>
Date: Mon Oct 17 15:54:34 2016 -0700
Positioning of TOI in tables and plots
commit 7a09bc1339
Author: Henry <akhenry@gmail.com>
Date: Mon Oct 17 10:11:59 2016 -0700
Migrated TOI functionality to common controller
commit 6bea6b3bc2
Merge: 660757f8f67cbd
Author: Henry <akhenry@gmail.com>
Date: Fri Oct 14 14:38:57 2016 -0700
Merge branch 'open1193' of https://github.com/nasa/openmctweb into open1193
commit 660757fc1c
Author: Henry <akhenry@gmail.com>
Date: Fri Oct 14 14:38:46 2016 -0700
Added TimeOfInterestController
commit 8f67cbd717
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Fri Oct 14 11:33:35 2016 -0700
[Frontend] Fixed cursor: grab on Time Conductor
Fixes#933Fixes#1193
Moved cursor: grab into mixin; sass cleanups
commit 07a4e26317
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Fri Oct 14 11:03:23 2016 -0700
[Frontend] TOI finalizing
Fixes#933Fixes#1193
HTML template cleaned up; checked in snow theme,
theme colors tweaked; padding finalized; now uses
val-to-left instead of -to-right;
commit 271c788f20
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Fri Oct 14 10:22:26 2016 -0700
[Frontend] TOI in tables
Fixes#933Fixes#1193
WIP
commit b7e8a1b378
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Oct 13 15:55:48 2016 -0700
[Frontend] Styling for TOI element
Fixes#933Fixes#1193
WIP: Table TOI element in progress
commit 6042e4ad58
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Oct 13 13:46:27 2016 -0700
[Frontend] Styling for TOI element
Fixes#933Fixes#1193
WIP: plots and TC done, moving on to
tables; moved sass into conductor-v2;
moved constants;
commit 1a534301c5
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Oct 13 11:42:10 2016 -0700
[Frontend] Refactor TOI element
Fixes#933Fixes#1193
WIP; TOI as mct-include; layout uses
flex-box; preparing to move TOI sass
into conductor-v2 directory;
commit 42acf9255e
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Oct 12 18:34:51 2016 -0700
[Frontend] Adding resync and dedicated unpin buttons
Fixes#933Fixes#1193
VERY WIP!
commit 3f0eb0b7cb
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Oct 12 18:33:53 2016 -0700
[Frontend] New glyphs for use by TOI
Fixes#933Fixes#1193
Symbols font updated
commit 086307ba3a
Author: Henry <akhenry@gmail.com>
Date: Tue Oct 11 17:16:51 2016 -0700
Fixed scrolling behavior with TOI
commit 938bf3c4df
Merge: 39104378b2047c
Author: Henry <akhenry@gmail.com>
Date: Tue Oct 11 13:26:20 2016 -0700
Merge branch 'open1182' into open1193
commit 8b2047ca32
Author: Henry <akhenry@gmail.com>
Date: Tue Oct 11 13:25:24 2016 -0700
Fixed issue with setting deltas
commit 3910437033
Merge: 70c4ce202c543f
Author: Henry <akhenry@gmail.com>
Date: Tue Oct 11 12:48:37 2016 -0700
Merged changes to zoom
commit 02c543fddc
Author: Henry <akhenry@gmail.com>
Date: Tue Oct 11 12:45:18 2016 -0700
Fixed zoom in real-time mode
commit 70c4ce24e4
Author: Henry <akhenry@gmail.com>
Date: Fri Oct 7 17:57:14 2016 -0700
Added support for clicking row to set TOI
commit b995a8b87b
Merge: 51a9557b384e84
Author: Henry <akhenry@gmail.com>
Date: Fri Oct 7 16:11:59 2016 -0700
Merged from open1182
commit b384e84872
Merge: 5babf7207140b1
Author: Henry <akhenry@gmail.com>
Date: Fri Oct 7 15:02:41 2016 -0700
Merge branch 'open933' into open1182
commit 07140b179f
Merge: 3e9c0ebcbd001e
Author: Henry <akhenry@gmail.com>
Date: Fri Oct 7 14:54:18 2016 -0700
Merge branch 'master' into open933
commit 51a95575f7
Author: Henry <akhenry@gmail.com>
Date: Fri Oct 7 14:51:59 2016 -0700
[Time Conductor] Refactored time of interest as optional generic behavior of MctTable
commit dfbbc3b0c5
Merge: 430645b47a0aba
Author: Henry <akhenry@gmail.com>
Date: Thu Oct 6 10:23:42 2016 -0700
alt-click to select TOI from table
commit 3e9c0eb7a5
Merge: f1d20728a00181
Author: Henry <akhenry@gmail.com>
Date: Wed Oct 5 12:25:04 2016 -0700
Merged from master to resolve build issues
commit f1d2072bb9
Author: Henry <akhenry@gmail.com>
Date: Wed Oct 5 11:17:22 2016 -0700
Added license information
commit 430645b1f2
Author: Henry <akhenry@gmail.com>
Date: Wed Oct 5 09:04:13 2016 -0700
TOI working in time conductor
commit 47a0aba601
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Tue Oct 4 18:12:01 2016 -0700
[Frontend] TOI sass and markup sanding
Fixes#933Fixes#1193
Color tweaks; Cleanups, commented
code removal, etc.; tightened up
tabular padding and font sizes;
commit 0ed0a48a8c
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Tue Oct 4 15:49:18 2016 -0700
[Frontend] Styling for TOI element
Fixes#933Fixes#1193
Tabular styling for TOI;
commit 1650aae518
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Mon Oct 3 15:56:56 2016 -0700
[Frontend] Styling for TOI element
Fixes#933Fixes#1193
WIP: Tabular styling for TOI;
TODO: make bottom border work
commit d3bf6c5857
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Mon Oct 3 15:15:56 2016 -0700
[Frontend] Styling for TOI element
Fixes#933Fixes#1193
WIP: Markup and CSS for plots and TC near complete;
TODO: revised styling in tabular views;
commit 5cd0c8a4fa
Author: Henry <akhenry@gmail.com>
Date: Fri Sep 30 12:41:14 2016 -0700
[Time Conductor] merged from open1182
commit 5babf7274d
Author: Henry <akhenry@gmail.com>
Date: Thu Sep 29 11:21:11 2016 -0700
[Time Conductor] Tweaked the break points for zoom level indicator
commit 22da34870d
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Sep 29 10:41:21 2016 -0700
[Frontend] Styling for TOI element
Fixes#933Fixes#1193
WIP: Markup and CSS revisions for updated UX approach;
TODO: cosmetic CSS
commit 99253a5904
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Tue Sep 27 20:42:33 2016 -0700
[Frontend] Styling for TOI element
Fixes#933Fixes#1193
WIP: Markup and CSS revisions for updated UX approach
commit 2db4aa6235
Author: Henry <akhenry@gmail.com>
Date: Fri Sep 23 13:06:22 2016 -0700
[Time Conductor] Added zoom level label
commit bb2ae2f8d1
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Fri Sep 23 11:07:06 2016 -0700
[Frontend] Styling for TOI element
Fixes#933Fixes#1193
Finalized TOI in plots, table and TC
commit 0cf4c92555
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Sep 22 19:15:10 2016 -0700
[Frontend] Styling for TOI element in tables
Fixes#933Fixes#1193
WIP: styling in tabular mostly done, needs more unit testing
TODO: fix hide/show for pinned TOI in plots - don't
show pinned TOI on hover when not .active
commit 3c95c095f1
Author: Henry <akhenry@gmail.com>
Date: Thu Sep 22 17:22:25 2016 -0700
[Time Conductor] Refactored out use of angular event bus in favor of making TimeConductorViewService an event emitter.
commit adbcc407ef
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Sep 22 16:06:45 2016 -0700
[Frontend] Styling for TOI element
Fixes#933Fixes#1193
WIP: TOI in tables
commit 1c3bd69b66
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Sep 22 16:06:16 2016 -0700
[Frontend] Styling for TOI element, some refactoring
Fixes#933Fixes#1193
Moves some TOI styling into dedicated new scss file;
Enhancements to TOI in plots to bring into parity
with TOI in TC approach;
commit 49ee5cb74b
Author: Henry <akhenry@gmail.com>
Date: Thu Sep 22 15:18:48 2016 -0700
[Time Conductor] Destroy listeners in ConductorAxisController
commit 1a93ba2c3d
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Sep 22 15:09:42 2016 -0700
[Frontend] Styling for TOI element in TC
Fixes#933Fixes#1193
Final for now; both types of TOI added to TC markup;
Hover behavior; constant values in the right places;
commit 98122cc730
Author: Henry <akhenry@gmail.com>
Date: Tue Sep 20 11:40:58 2016 -0700
[Time Conductor] Added Zoom
commit 7fcafb6b58
Author: Henry <akhenry@gmail.com>
Date: Mon Sep 12 16:53:48 2016 -0700
[Time Conductor] Added pan to Time Conductor
commit d77922d66c
Author: Pete Richards <pete@pete-richards.com>
Date: Thu Sep 15 09:37:11 2016 -0700
Revert "[proxyUrl] pass URL parameters to proxied URL"
commit 2e81550c86
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date: Wed Sep 14 10:16:33 2016 -0700
Revert "[Build] Check dependencies for vulnerabilities"
commit 8eb7585653
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date: Mon Aug 29 10:58:02 2016 -0700
[README] Warn about root installation issues
Mitigates #1151.
commit 904d56a089
Author: Henry <akhenry@gmail.com>
Date: Thu Sep 22 13:32:43 2016 -0700
[Time Conductor] #933 Clean up time conductor listeners on scope destruction
commit c0a96b3c5f
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Sep 22 10:33:05 2016 -0700
[Frontend] Styling for TOI element in TC
Fixes#933Fixes#1193
WIP, tweaking TOI in TC
commit 27e6caf69b
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Fri Sep 16 18:51:51 2016 -0700
[Frontend] Styling for TOI element in plots
Fixes#933Fixes#1193
Relates to #1182
WIP, adding TOI to plot view;
Integrated Andrew's work from #1182;
Significant changes to markup and
additions to plot scss;
commit 2c7ae95106
Merge: 2c81b7241a160f
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Fri Sep 16 15:11:25 2016 -0700
Merge branch 'open1182' into open1193
commit 41a160fc4f
Merge: 92a80c3156ba83
Author: Henry <akhenry@gmail.com>
Date: Fri Sep 16 14:25:49 2016 -0700
Merge branch 'master' into open1182
commit 92a80c39cb
Author: Henry <akhenry@gmail.com>
Date: Mon Sep 12 16:53:48 2016 -0700
[Time Conductor] Added pan to Time Conductor
commit 2c81b72d60
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Sep 15 16:02:30 2016 -0700
[Frontend] Styling for TOI element in plots
Fixes#933Fixes#1193
WIP, adding TOI to plot view.
commit 9e2debf801
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Sep 15 15:43:29 2016 -0700
[Frontend] Styling for TC's TOI element
Fixes#933Fixes#1193
I lied in my last commit - one more
alignment tweak needed. Now I'm done.
commit 35872e284c
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Sep 15 15:40:03 2016 -0700
[Frontend] Styling for TC's TOI element
Fixes#933Fixes#1193
TOI in TC done for now.
commit 98e67f8dfb
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Thu Sep 15 14:55:06 2016 -0700
[Frontend] Styling for TC's TOI element
Fixes#933Fixes#1193
WIP: adjust spacing;
added pagination buttons
commit f912b9e273
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Sep 14 18:40:55 2016 -0700
[Frontend] Styling for TC's TOI element
Fixes#933
WIP, TC v2 changes
commit 2df1e2b508
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Sep 14 18:40:29 2016 -0700
[Frontend] Styling for TC's TOI element
Fixes#933
WIP, global changes
commit 9e85341aaa
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Sep 14 15:16:16 2016 -0700
[Frontend] Fixed color for TC clock hands
Fixes#933
commit 11e06039ec
Merge: a1331b7f732387
Author: Henry <akhenry@gmail.com>
Date: Tue Sep 13 13:25:37 2016 -0700
Merge branch 'master' into open933
commit a1331b7bb3
Merge: d1960b2e73bb4f
Author: Henry <akhenry@gmail.com>
Date: Mon Sep 12 15:07:05 2016 -0700
Merge branch 'master' into open933
commit d1960b2f46
Author: Henry <akhenry@gmail.com>
Date: Mon Sep 12 14:54:16 2016 -0700
[Time Conductor] Resolved merge conflicts
commit 9a06325533
Merge: e639e054c6ca58
Author: Henry <akhenry@gmail.com>
Date: Mon Sep 12 14:39:24 2016 -0700
Merge branch 'master' into open933
commit e639e056ba
Author: Henry <akhenry@gmail.com>
Date: Fri Sep 9 16:39:21 2016 -0700
[Time Conductor] Fixing bugs found in smoke testing. Fixes#933
commit fbab890081
Author: Henry <akhenry@gmail.com>
Date: Wed Sep 7 14:29:21 2016 -0700
[Time Conductor] Switched conductor to mct-include rather than mct-representation to avoid warnings
commit d37dd52ee1
Merge: 7af587558391de
Author: Henry <akhenry@gmail.com>
Date: Tue Sep 6 16:43:17 2016 -0700
Merge branch 'master' into open933
commit 7af5875dd5
Author: Henry <akhenry@gmail.com>
Date: Tue Sep 6 10:04:29 2016 -0700
[Time Conductor] #933 Fixed code style errors
commit c6eaa3d528
Author: Andrew Henry <andrew.k.henry@nasa.gov>
Date: Wed Aug 24 15:28:19 2016 +0100
[Time Conductor] Adding tests and fixing failing ones. #933
commit 4cf6126d35
Author: Henry <akhenry@gmail.com>
Date: Wed Aug 10 18:22:30 2016 -0700
Refactoring based on feedback
Refactoring controller
Migrating functions off controller onto service class
Simplified modes
Adding comments
Removed unnecessary validation
Fixing testing issues
commit 4ae6da0334
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Tue Aug 9 17:47:31 2016 -0700
[Frontend] Data viz in Time Conductor smaller
Fixes#933
Reduced height of data viz bar in Time Conductor
v2;
commit ae39343b76
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Mon Aug 8 12:14:20 2016 -0700
[Frontend] Fix for bad fix
Fixes#1112
Put overflow: hidden back at
outer wrapper level (now on .t-object.primary-pane
) which doens't clip the Inspector expand/collapse;
did better unit testing;
commit 62ee7e569b
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Mon Aug 8 11:21:01 2016 -0700
[Frontend] Fix for collapse Inspector button
Fixes#1112
Moved min-width and overflow: hidden
to TC-specific elements; removed
overflow: hidden from .primary-pane
commit 7557a86208
Merge: 46e644ec8931f8
Author: Henry <akhenry@gmail.com>
Date: Fri Aug 5 16:37:36 2016 -0700
Merge branch 'master' into open933
commit 46e644e6dc
Author: Pete Richards <peter.l.richards@nasa.gov>
Date: Fri Aug 5 14:44:18 2016 -0700
Use key to retrieve default
commit af7954c5a1
Author: Pete Richards <peter.l.richards@nasa.gov>
Date: Fri Aug 5 11:24:51 2016 -0700
Trigger digests when bounds are set
commit 0e0ad64830
Author: Henry <akhenry@gmail.com>
Date: Thu Aug 4 10:41:58 2016 -0700
Fixed issue with wrong deltas being applied
commit f3fd386e3b
Author: Henry <akhenry@gmail.com>
Date: Wed Aug 3 21:03:09 2016 -0700
Retain time system on mode change
commit 25b9f371e2
Author: Henry <akhenry@gmail.com>
Date: Wed Aug 3 20:16:03 2016 -0700
Fixed loss of time system options on navigation
commit 6b482d487b
Merge: f96f78f9a72c96
Author: Henry <akhenry@gmail.com>
Date: Wed Aug 3 19:57:03 2016 -0700
Merged mode-specific defaults, with some refactoring
commit f96f78ff79
Author: Henry <akhenry@gmail.com>
Date: Wed Aug 3 19:34:31 2016 -0700
Select appropriate tick source based on mode
commit 579233ade9
Author: Henry <akhenry@gmail.com>
Date: Wed Aug 3 18:30:01 2016 -0700
Fixed delta format issue on navigation
commit 9a72c96ea4
Author: Pete Richards <peter.l.richards@nasa.gov>
Date: Wed Aug 3 18:06:39 2016 -0700
[TCv2] different defaults by mode
commit f4e1879a2d
Author: Henry <akhenry@gmail.com>
Date: Wed Aug 3 17:43:07 2016 -0700
stop listening to tick source on time system change
commit f844495cc1
Author: Henry <akhenry@gmail.com>
Date: Wed Aug 3 17:40:37 2016 -0700
Support deltaFormat on timeSystems
commit 900752208f
Author: Pete Richards <peter.l.richards@nasa.gov>
Date: Wed Aug 3 13:05:43 2016 -0700
[TCv2] get conductor without service
commit 6501e2eb5f
Author: Henry <akhenry@gmail.com>
Date: Wed Aug 3 12:22:13 2016 -0700
Added isUTCBased to TimeSystem interface
commit b9c41107c1
Author: Henry <akhenry@gmail.com>
Date: Tue Aug 2 22:18:44 2016 -0700
Time Conductor state retained on navigation
commit 34c62ba405
Author: Henry <akhenry@gmail.com>
Date: Tue Aug 2 15:16:35 2016 -0700
Time Conductor in edit mode
commit 1eea5ce480
Merge: 4cd579d1173828
Author: Henry <akhenry@gmail.com>
Date: Mon Aug 1 20:29:50 2016 -0700
merged from master
commit 4cd579d274
Author: Henry <akhenry@gmail.com>
Date: Mon Aug 1 20:16:46 2016 -0700
Pass numerical value to format functions
commit 11738286df
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Mon Aug 1 18:56:33 2016 -0700
[Frontend] Styling for unsynced elements
Fixes#933
commit ca5206d4a0
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Mon Aug 1 18:55:49 2016 -0700
[Frontend] Fixing issues with theme coloring
Fixes#933
commit 573f1f9f99
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Mon Aug 1 18:04:17 2016 -0700
[Frontend] Hide zoom slider control
Fixes#933
Temporarily hiding per request from Andrew
today;
commit c5c45f0a0e
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Mon Aug 1 18:01:28 2016 -0700
[Frontend] Update TC2 markup and sass
Fixes#933
Update markup and sass in TC2 to be in line with
updates from master from #1047 glyphs
to cssclass approach;
commit 121ab413ff
Author: Henry <akhenry@gmail.com>
Date: Mon Aug 1 17:51:15 2016 -0700
Apply formatting, filter modes by tick source availability
commit 753bd97c8a
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Mon Aug 1 17:12:44 2016 -0700
Merge remote-tracking branch 'origin/master' into open933-c
# Conflicts:
# platform/commonUI/edit/res/templates/create/create-menu.html
# 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/_archetypes.scss
# platform/commonUI/general/res/sass/_constants.scss
# platform/commonUI/general/res/sass/_icons.scss
# platform/commonUI/general/res/sass/_main.scss
# platform/commonUI/general/res/sass/_mixins.scss
# platform/commonUI/general/res/sass/controls/_buttons.scss
# platform/commonUI/general/res/templates/controls/time-controller.html
# platform/commonUI/themes/snow/res/sass/_constants.scss
commit fcd7ab93e5
Merge: a75ea679b58aa0
Author: Henry <akhenry@gmail.com>
Date: Mon Aug 1 17:12:00 2016 -0700
Merge branch 'open933' of https://github.com/nasa/openmctweb into open933
commit c699cb8b4b
Merge: 579c6b6d1e1ba1
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Mon Aug 1 17:11:37 2016 -0700
Merge remote-tracking branch 'origin/master' into open933-c
# Conflicts:
# platform/commonUI/edit/res/templates/create/create-menu.html
# 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/_archetypes.scss
# platform/commonUI/general/res/sass/_constants.scss
# platform/commonUI/general/res/sass/_icons.scss
# platform/commonUI/general/res/sass/_main.scss
# platform/commonUI/general/res/sass/_mixins.scss
# platform/commonUI/general/res/sass/controls/_buttons.scss
# platform/commonUI/general/res/templates/controls/time-controller.html
# platform/commonUI/themes/snow/res/sass/_constants.scss
commit a75ea67b8c
Author: Henry <akhenry@gmail.com>
Date: Mon Aug 1 17:11:01 2016 -0700
Format updates when time system selected
commit 9b58aa0052
Author: Pete Richards <peter.l.richards@nasa.gov>
Date: Mon Aug 1 17:03:00 2016 -0700
[TCv2] Add conductorService for compatibility
Add conductor service for compatibility with old plugins that depend
on the conductor service.
commit 579c6b6d24
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Mon Aug 1 16:30:51 2016 -0700
[Frontend] Styling TC unsynced elements
Fixes#933
WIP: Styling for unsynced elements
commit 762f43fa61
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Mon Aug 1 16:26:47 2016 -0700
[Frontend] Styling TC unsynced elements
Fixes#933
WIP: Styling for unsynced elements
commit ce5d0ef5bd
Author: Henry <akhenry@gmail.com>
Date: Mon Aug 1 16:03:27 2016 -0700
Merged stylesheet changes
commit 142ee2f336
Merge: 482fcbf523d674
Author: Henry <akhenry@gmail.com>
Date: Mon Aug 1 15:44:49 2016 -0700
Added LocalTimeSystem and merged latest styles
commit 482fcbf6ee
Author: Henry <akhenry@gmail.com>
Date: Mon Aug 1 15:14:23 2016 -0700
Refactored bundle
commit 523d6743fb
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Mon Aug 1 12:00:53 2016 -0700
[Frontend] Added support for thematic styling of Time Conductor v2
Fixes#933
Added theme sass files
commit 7af22126d4
Author: Henry <akhenry@gmail.com>
Date: Wed Jul 27 12:05:03 2016 -0400
Prevent tabbing into end bounds when not in fixed mode
commit 8e59072537
Author: Henry <akhenry@gmail.com>
Date: Wed Jul 27 11:55:12 2016 -0400
Removed LAD and Realtime modes
commit c1bbc4f01d
Author: Henry <akhenry@gmail.com>
Date: Wed Jul 27 10:38:04 2016 -0400
Code cleanup
commit aa4a5e56f9
Author: Henry <akhenry@gmail.com>
Date: Tue Jul 26 16:55:00 2016 -0400
Improved support from plot
commit 5b2eb72b16
Author: Henry <akhenry@gmail.com>
Date: Tue Jul 26 08:33:30 2016 -0400
[Time Conductor] Addressed documentation issues
commit 1b7fc57d21
Author: Henry <akhenry@gmail.com>
Date: Mon Jul 25 16:55:27 2016 -0400
Added status support to plots
commit a4f6f6f50b
Author: Henry <akhenry@gmail.com>
Date: Mon Jul 25 12:09:15 2016 -0400
Added license
commit 19fd63b850
Merge: c2c8e16a10ded2
Author: Henry <akhenry@gmail.com>
Date: Thu Jul 21 20:06:50 2016 -0700
Merge branch 'open933-frontend-b' into open933
commit c2c8e16453
Author: Henry <akhenry@gmail.com>
Date: Thu Jul 21 20:03:40 2016 -0700
Added scale sensitive formatting to UTCTimeFormat
commit a10ded25b4
Merge: da7c636e6d8944
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 20 18:33:58 2016 -0700
Merge remote-tracking branch 'origin/open933' into open933-frontend-b
# Conflicts:
# platform/features/conductor-v2/res/sass/time-conductor.scss
# platform/features/conductor/res/sass/time-conductor.scss
commit da7c636724
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 20 18:22:20 2016 -0700
[Frontend] Time Conductor v2 styling
Fixes#933
Redo TC icon to use font symbol, added
new symbol for brackets to font files; font
anti-aliasing mod for .ui-symbol class;
layout tweaks; mobile tweaks.
commit b392633bc6
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 20 15:48:22 2016 -0700
[Frontend] Time Conductor v2 styling
Fixes#933
WIP: Significant mobile and desktop style tweaks;
moved constants into their own include file;
commit ff1678435e
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 20 11:43:40 2016 -0700
[Frontend] Time Conductor v2 styling
Fixes#933
Changed desktop and mobile RT UI to display
end datetime and hide start;
WIP: mobile styling for main UI of TC;
commit 2124fe01e1
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 20 10:18:42 2016 -0700
[Frontend] Renew support for Time Conductor v1
Fixes#933
Minor fixes to TCv1 for mobile
commit e6d8944547
Author: Henry <akhenry@gmail.com>
Date: Tue Jul 19 20:17:06 2016 -0700
Modified main.js
commit ea1defac28
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Tue Jul 19 18:33:24 2016 -0700
[Frontend] Renew support for Time Conductor v1
Fixes#933
Time Conductors v1 and v2 now build and load their
own isolated CSS files. All previous styling for TCv1
should be re-enabled. Note that Conductor v2 mobile
is not complete yet.
commit 2a19394334
Author: Henry <akhenry@gmail.com>
Date: Tue Jul 19 19:54:52 2016 -0700
Added compatibility layer to support existing plots and historical tables
commit f641edbce7
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Tue Jul 19 18:33:24 2016 -0700
[Frontend] Renew support for Time Conductor v1
Fixes#933
Time Conductors v1 and v2 now build and load their
own isolated CSS files. All previous styling for TCv1
should be re-enabled. Note that Conductor v2 mobile
is not complete yet.
commit 15a608a861
Author: Henry <akhenry@gmail.com>
Date: Mon Jul 18 18:44:29 2016 -0700
Populate format in input fields
commit 334ca64551
Merge: 0af49ef4087b9c
Author: Henry <akhenry@gmail.com>
Date: Mon Jul 18 14:25:02 2016 -0700
Merged open933-frontend
commit 0af49efe06
Author: Henry <akhenry@gmail.com>
Date: Mon Jul 18 08:23:27 2016 -0700
Refactored out modes, time systems, etc.
commit 4087b9cdde
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Fri Jul 15 14:39:29 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
WIP: Fixed look for Firefox
commit 43a804eef4
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Fri Jul 15 07:54:32 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
WIP: Added zoom current range indicator;
tweaks to style
commit b3a4f52fe2
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Thu Jul 14 18:30:49 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
WIP: Adding zoom control with HTML5
input range type; Refactored sass slightly
to move display: inline-block out of mixin
containerBase and into .s-btn.
commit 671e3016d4
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Thu Jul 14 16:40:05 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
New _animations scss include, moved
scss around.
commit 379828315f
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Thu Jul 14 16:39:27 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
New _animations scss include, moved
scss around.
commit 8c5538ec4d
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Thu Jul 14 14:58:18 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
"Sticky" clock anim for LAD mode
commit 2f9fbfef7f
Author: Henry <akhenry@gmail.com>
Date: Wed Jul 13 20:33:47 2016 -0700
More refactoring
commit 2baca659ca
Author: Henry <akhenry@gmail.com>
Date: Wed Jul 13 19:50:58 2016 -0700
Refactoring
commit 8b694ef337
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 13 19:42:51 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
In-progress: color/size tweaks, fixes for espresso
theme
commit e193e3dfba
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 13 19:16:27 2016 -0700
Merge open933 latest, resolve conflicts
Fixes#933
Fair amount of manual fixing in time-conductor.html
commit 8214c8e895
Merge: 33b222514463d3
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 13 19:16:00 2016 -0700
Merge open933 latest, resolve conflicts
Fixes#933
Fair amount of manual fixing in time-conductor.html
commit 33b2225d10
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 13 18:48:17 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
In-progress: restructured markup to move
modeModel farther out; animated icon
commit 14463d39a8
Author: Henry <akhenry@gmail.com>
Date: Wed Jul 13 18:17:27 2016 -0700
Added end delta
commit fcfda50e73
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 13 15:00:16 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
In-progress: color tweaks, bar sizing,
field widths
commit 06af84c161
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 13 13:14:32 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
In-progress: fixed SVG text color, field
styling for fixed vs. real-time, markup cleanup
commit 5238aa2731
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Wed Jul 13 08:07:59 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
In-progress; fixed SVG text color
commit fd29473664
Author: Henry <akhenry@gmail.com>
Date: Tue Jul 12 15:02:39 2016 -0700
Support resize
commit 97f3fd516b
Author: Henry <akhenry@gmail.com>
Date: Tue Jul 12 10:14:26 2016 -0700
Changed default duration to fifteen minutes
commit 088416905d
Author: Henry <akhenry@gmail.com>
Date: Tue Jul 12 10:08:08 2016 -0700
Added duration
commit 2056d87453
Merge: 585da3864ce8a2
Author: Henry <akhenry@gmail.com>
Date: Mon Jul 11 14:27:30 2016 -0700
Merge branch 'open933-frontend' into open933
commit 64ce8a2b2a
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Mon Jul 11 14:03:41 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
Color adjusts, mini super-menu size
and font tweaks, glyphs added to selector,
SVG style fixes in progress
commit 585da38a16
Author: Henry <akhenry@gmail.com>
Date: Mon Jul 11 13:46:46 2016 -0700
Fixed some merge issues
commit bf0e85a94c
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Mon Jul 11 11:35:26 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#933
Renamed main class; removed unused <style>
defs
commit 84b7a9dc2f
Merge: 7b7b21d11caa83
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Mon Jul 11 11:29:35 2016 -0700
Merge remote-tracking branch 'origin/open933' into open933-frontend
Fixes#933
Conflicts:
platform/features/conductor-v2/src/TimeConductorController.js
commit 11caa8396a
Author: Henry <akhenry@gmail.com>
Date: Mon Jul 11 11:18:23 2016 -0700
Updated modes
commit 0017b77439
Merge: 5cc81ba788483e
Author: Henry <akhenry@gmail.com>
Date: Mon Jul 11 11:06:22 2016 -0700
Merged markup changes
commit 7b7b21d748
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Mon Jul 11 11:05:47 2016 -0700
[Frontend] Styling of Time Conductor v2
Fixes#933
Tweaks to language; tweak to class name in markup
commit 788483ec13
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Mon Jul 11 10:37:08 2016 -0700
[Frontend] Styling of Time Conductor v2
Fixes#933
Tweaks to language
commit 7b19f91ce6
Merge: 0a0bc554e7b69c
Author: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Date: Mon Jul 11 10:31:14 2016 -0700
[Frontend] Merge latest from open933
Fixes#933
Resolve conflicts in
mode-menu.html, mode-selector.html,
time-conductor.html; apply tweaks, language, etc.
commit 5cc81ba12a
Author: Henry <akhenry@gmail.com>
Date: Mon Jul 11 10:26:34 2016 -0700
[Time Conductor] Added mode class to time conductor
commit 0a0bc55f5f
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Fri Jul 8 17:11:43 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#993
In-progress; mode menu names and
descriptors modified, markup cleaned up
commit 4e7b69c4df
Author: Henry <akhenry@gmail.com>
Date: Fri Jul 8 16:57:50 2016 -0700
Enabled fixed and real-time modes
commit cf83040c4b
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Fri Jul 8 16:54:49 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#993
In-progress; Create menu refactoring and new
mini Create menu
commit 32f7bc86af
Author: Charles Hacskaylo <charlesh88@gmail.com>
Date: Fri Jul 8 16:54:13 2016 -0700
[Frontend] Styling for Time Conductor v2
Fixes#993
In-progress; class renaming continued,
cleanups in markup file, in-page styles
ported to scss
commit e230b92946
Author: Henry <akhenry@gmail.com>
Date: Fri Jul 8 15:15:12 2016 -0700
Fixed bug with date selector having to be clicked twice
commit 58ed500ecf
Author: Henry <akhenry@gmail.com>
Date: Thu Jul 7 16:57:03 2016 -0700
Time sync via conductor
commit bca5eb0fdb
Author: Henry <akhenry@gmail.com>
Date: Thu Jul 7 09:47:46 2016 -0700
[Time Conductor] #933 Initial markup
* [Core] Log errors from topic
Log full error (including stack trace) when catching errors
from the topic service. Aids debugging of #1303 (and should
aid in future debugging of any similar issues.)
* [API] Fix identifier usage in handleMutation
To address console errors observed in the context of #1303
* [Views] Listen to mutation
Listen for mutation instead of watching modified timestamp;
more reliable due to recent API changes. Fixes#1303.
* [Views] Update spec for mct-representation
...to reflect changes for #1303
* [Views] Rewrite mct-view
...to make it a simple way to include non-Angular views, without
integrating unnecessarily with other architectural concerns.
Supports restoration of view registration functionality to fix
#1307
* [API] Use identifier as property name
* [API] Add adapter capability
...to simplify adapter layer (allowing new-style objects to be
retrieved via capability.)
* [API] Add AdaptedViewController
* [API] Add template for adapted views
* [API] Add AdaptedViewPolicy
* [API] Wire in view adapter
* [API] Fix adapter capability implementation
* [API] Don't create new scope from mct-view
...to allow use on same element as ng-controller (and because a
new scope just is not necessary.)
Remove 'install' step from gulp develop task, instead
run 'stylesheets' to build stylesheets. Result is much
faster execution of gulp develop as is expected for
a development tool.
Fixes https://github.com/nasa/openmct/issues/1268.
My Items root is now opt-in, and does not need to be enabled for all
deployments. My Items is enabled by default in the development edition.
https://github.com/nasa/openmct/issues/1251
Overload addRoot method to support async root loading. By supplying a
function you can defer loading to later, and by allowing those functions
to return a promise, execution can be asynchronous.
Remove "removeRoot" as the assumption will be that roots are opt in, and
instead of removing a Root, an application developer should never configure
it in the first place.
Fixes https://github.com/nasa/openmct/issues/1251
New test suite for the notification service covering common use cases. Fixed the bug where autoDismiss would be set wrong for info notifications; also treating info notifications appropriately now.
In the spec: NotificationService knows about concepts like "info", "alert" and "error" only, having a plain info notification model called successModel doesn't help much and may be confusing at times (makes you think it's something the service treats separately).
Adds miscellaneous platform updates to include templates
via the RequireJS text plugin; to support modification of
asset paths; and to support priority order for gestures.
Supports integration of new API, #1124.
Issue #1184. This allows for a generically sized text area in forms. I am
anticipating some potential feedback on this given the approach and the sizing
I chose may or may not be ideal for your requirements.
The images were being cutoff due to the "top" attribute of .gl-plot
not changing when the buttons were hidden. The buttons are now
hidden by CSS class rather than ng-show, which makes updating the
.gl-plot top attribute easier.
I would prefer this be passed in via the bundle, but it continues to fail
saying "Unknown Provider". I have chosen to require them into the module
the old-fashioned way, then allow an injectible dependency to override.
It's worth noting that I changed the .gl-plot position from relative to absolute
in an attempt to match the results to a similar requirement in MCT Table. Setting
to absolute caused no regressions as far as I could tell, but I have not attempted
browsers outside of Chrome.
Fixes#1161
New .s-selectable, .s-hover, .s-selected and .s-moveable classes
New supporting color constants
Markup in layouts, fixed position/panels updated
Removed old commented code
Extends PlotController by adding three new scoped methods:
exportPDF, exportPNG, exportJPG.
All three methods use basically the same steps. The HTML node
of the plot is passed through html2canvas which generates a canvas.
From the canvas we export a blob, PNG, or JPG then save the file.
🐙
# Author Checklist:
Changes appear to address issue? Y
Appropriate unit tests included? N/A - No code changes
Code style and in-line documentation are appropriate? N/A
Commit messages meet standards? Y
Addresses issue #1158
Passes query parameters on to proxyUrl proxied URL
remove the url parameter before passing
Naming convention for variables
Re-order code to reuse variable
Clicking `Long-duration testing` was showing the right doc but wrong section due to typo in `procedures.md#long-duration-testng`. Fixed it, so now clicking `Long-duration testing` will take us to the right section.
Changed test to ensure checkAll and it's appropriate filter string are
set whenever checkAll is changed.
Removed redundant line checking for a filter string of 'NONE' as this
is no longer a possibility.
Changed test to work properly with #1117 fix.
Checks if checkAll gets checked when no options are checked.
Checks if changing checkAll updates the filter string to ''
Upon deselecting every filter, the search returns nothing. This serves
no useful purpose as discussed in #1117. Now deselecting every filter
automatically selects 'All'.
...as this will trigger a refresh of the mct-representation for
the tree, which will in turn create a new mct-tree instance,
resulting in any expanded/collapsed state being lost.
Fixes#1008.
TreeView's observers will be called when the selected domain object
changes, which can occur for one of two reasons:
1. Because a new value was set externally, from mct-tree.
2. Because a new value was selected, by the user.
In the latter case a $apply is needed, but in the former it is not
(and causes an error.) However, when that case occurs, the value in
scope will be up to date already (it was a watch that triggered the
call to treeView.value) so no assignment or $apply is necessary.
Fixes#1114.
...to account for changes to separate out transaction management,
including removal of specs made obsolete (as tested behavior has
been moved to TransactionManager or was already redundant to
behavior from the undecorated PersistenceCapability)
commit 3f199a9f06
Merge: 27fe4ed736cba7
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date: Mon Jun 27 09:04:40 2016 -0700
Merge remote-tracking branch 'origin/master' into clear-transactions-1046
Conflicts:
platform/commonUI/edit/src/actions/SaveAsAction.js
commit 27fe4edb30
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date: Wed Jun 22 15:04:06 2016 -0700
[Edit] Mark restartTransaction as private API
commit 21d1938a0f
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date: Wed Jun 22 15:03:17 2016 -0700
[Edit] Clarify JSDoc
commit 06a83f9fa9
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date: Wed Jun 22 15:01:35 2016 -0700
[Edit] Update failing spec
commit 1f525160e0
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date: Wed Jun 22 14:52:43 2016 -0700
[Edit] Refer to correct variable
...when clearing transactions after a restartTransaction
commit b60e94bce4
Author: Victor Woeltjen <victor.woeltjen@nasa.gov>
Date: Wed Jun 22 14:38:54 2016 -0700
[Edit] Clear transactions on Save As
...such that only persistence calls associated with the
saved clones are actually issued. Fixes#1046.
Show a blocking dialog while the save action is being performed.
Prevents users from pressing save a second time or performing
further actions while a save is in progress.
Fixes https://github.jpl.nasa.gov/MissionControl/vista/issues/362
Remove domain objects from the active transaction when they
are refreshed, and use this from the SaveAsAction to prevent
saving unintended changes. Fixes#1046
Set the min height for the plot element based on user feedback for
minimum plot size that they find useful. Plot ticks may overlap
but that is expected to be fixed in a future release.
Fixes https://github.com/nasa/openmct/issues/1048
Reposition scroll bar in Timeline with RAF instead of timeout;
this ensures that scroll bar is positioned after the current
digest (updating the width) but before the results are rendered
(avoiding flicker.) Fixes#997
Whenever timeline zoom controller sets scroll, check to see if
there may be a width violation that causes scroll to be reset,
and retry on a timeout if so. Fixes#936.
fixes#709
- When going from browse to edit mode, the wrapper
around the object being edited will now transition in
from its edges, and the edit controls toolbar will
animate its height;
- There is no transition applied for going from edit
to browse; to do this we'd need to mod the JS on
exiting to look for the end of an animation event;
- Tested in Chrome, Safari and Firefox;
- May not be smooth with very complex objects
like Layouts with a large number of components;
- Added transitional animations to .l-object-wrapper
and .l-edit-controls;
- New 'animTo' mixin added to _effects.scss;
...from TimelineController. Will replace with a more straightforward
call to the zoom controller that uses the exposed end time instead,
to address #981.
fixes#973
- Done;
- Styling for Export button and tabular view
area in layout frame context;
- Export button in frame context now
hidden until user hovers over tabular
view area in frame, includes animated
transition;
- Normalized line-height on button and
menu elements in frame context;
- Layout/markup/SASS for historical and
RT tabular view modified;
- Converted imagery.html layout
to use flexbox;
fixes#973
- In progress:
- Added new download symbol to symbols font;
- Added export symbol to export button;
- Layout/markup/SASS for historical tabular
view modified;
open #965
- CSS adjusted to handle min-width of 2px and better
approach to ellipsizing text;
- Angular ng-class added to hide icon and title if
width less than a value;
- Rounded corners on bars removed;
Revert "[Timeline] Change ordering in mct-representation"
This reverts commit 20ecf168f2.
These changes introduced a regression due to ordering
expected by time conductor, #957
Run the full gulp verify task for testing on CircleCI, to handle
unit tests as well as code style checks and linting (and other
verification steps that may be added in the future.)
Add JSHint rules to complement allowing multiple var statements,
https://github.com/nasa/openmct/issues/142#issuecomment-212187972
[Code Style] Require one decl per var
[Code Style] Don't require separate var decls
...but allow them (for compatibility with existing code style)
[Code Style] Allow var decl after start of scope
[Code Style] Enforce codestyle during verify task
open #889
open #298
Fixes for mobile;
Moved popup z-index def into sass;
Datetime picker compressed for
better fit in mobile phone;
Removed hours selector from datetime
picker to enable better fit in mobile;
open #909
- Changed markup to not use plot .tick-label class;
- Changed CSS accordingly;
- Fixed alignment (clipped bottom value) by
refactoring to use flex-box layout for tick labels;
open #889
IN PROGRESS
- Smaller font used on range value;
- More space allocated to left and right
for slider range values;
- Style tweaks to slider look;
- Layout and style of datetime inputs
fixed;
- Input error colors fixed, moved to
theme constants;
Use circle's heroku integration to deploy to ensure that we deploy
a full clone of the repo and not a shallow clone, prevents build
failure in master branch.
Remove duplicate ClickAwayController implementation that was obscuring actual
implementation. Debounce clickaway action in case toggle is invoked in a
click handler.
Resolves https://github.com/nasa/openmct/issues/888
Mutation now triggers persistence; this means that some legacy code
does or may issue redundant calls to persistence after mutating.
To avoid issuing redundant calls all the way down to the
persistenceService, bail out of persist calls early if there are
no unsaved changes to persist.
* In the prepublish step, run bower and gulp via node, instead of
relying on shebang interpretation. (Forward-slash path separators
appear to get normalized by node itself before executing the scripts.)
* In the gulp build, replace hard-coded *nix-style separators with
path.sep; this allows stylesheets to be output to expected locations
when building on Windows.
Addresses #827.
Add default values to model, such that editing which occurs
before user supplies these properties does not cause errors
to occur. Directly addresses #717, indirectly addresses
remaining errant behavior associated with #790.
#445
Markup enhanced in wait-node.html;
More wait-spinner constants added;
Normalized appearance between tree-based
.loading and .s-status-pending;
Fixed .s-status-pending to work now that
mct-representation is gone from tree;
#445
New wait-spinner constants;
Markup fixed in wait-node.html;
Styles for .loading when applied to
.tree-item.wait-node;
Changed from percent-of-parent-
width sizing of spinner to fixed size;
Track whether an object is in the cache based on whether it is
in the cache instead of utilizing a separate object for tracking
contents of cache.
See comment on https://github.com/nasa/openmct/pull/773/files
...to restore suppression of Move for objects being edited
(relaxed for the specific case of moving one object being
edited into another object being edited, for use in Timelines.)
Remove step where Added objects are persisted via the editor
capability; instead, persist via the usual persistence capability,
such that Edit mode may intervene (or not) as necessary.
As instantiated models are cached at least until persisted,
this workaround to allow newly-created models to be available
during editing is no longer necessary (and undesired consequences
such as #770 no longer occur)
Specify requirejs minor version of 2.1, as 2.2 is not compatible
with karma-requirejs.
Fixes build problems that appeared after latest requirejs version bump.
#750
Moved l-plot-resource cursor: pointer
to a more specific selector;
Added user-select: none to l-header;
Fixed s-status-editing styling so
that tabular labels only appear draggable
while editing;
#700#689#740
Removed _selects.scss and moved classes
into _controls.scss;
Reorg'd _controls;
Moved classes into _elems.scss;
Added and fixed cssclass defs in multiple
bundle.js files to allow better field widths
in overlay dialogs;
Fixed overlay custom scrollbar colors;
Fixed alignment of required glyphs in forms;
open #729
open #498
Fixed markup to use proper CSS classes
to allow tree items in Inspector Elements to
ellipsize properly, and to apply scroll regions
to the proper elements;
open #729
In-progress!
Markup and CSS mods continued;
Config params added to PlotOptionsForm.js to
allow control-first layout per form row;
Changed titles of Inspector parts;
open #729
In-progress!
Markup and CSS modified to cleanup control layout
and styling in Plot and Table config options;
gulpfile.js modified to include SASS source line numbers
in rendered CSS;
Pass model directly when indexing is triggered via object mutation,
to avoid issuing an extra, unnecessary request to the server.
Additionally supports indexing of objects which have been created
but not yet persisted.
Addresses #377.
#442
Removed white space from markup;
Moved getGlyphClass up to status-block-holder
element out of status-block;
CSS mods to selectors and style defs
in _messages.scss;
...add to TimelineSwimlanePopulator to reflect changes to
time at which selection object may become available as
a consequence to changes in the way templates are normally
loaded. #673
...to reflect changes to how selection object is obtained,
which in turn reflects change to using templates obtained
via RequireJS text plugin, instead of loading by URL.
Loading templates via RequireJS text plugin means they are
immediately available; appears to have caused a change in
ordering wherein controllers for views may be initialized
before representers have installed things like selection
state. As such, need to watch for changes instead of simply
checking for a selection object when the controller is
initialized.
Minor change to readme
Fixed JSLint errors
More JSLint errors
[Example] Rems data integration - disabled bundle by default.
[Examples] REMS data integration - added newlines at end of files
[Example] Added time conductor support to REMS data integration
Added caching of results
[Examples] Added domain format to REMS data #359
[Example] #637 Added local proxy to app.js to allow cross-origin requests
Updated readme
#164https://github.jpl.nasa.gov/MissionControl/vista/issues/299
App logo and bg files renamed;
Added openmct.scss to hold openmct-specific styles;
Renamed _startup.scss to startup-base.scss
which now renders its own .css file;
Still to-do: apply to WARP including needed
mods to its About dialog screen;
#164
Markup in index.html and about-dialog.html
changed to simplify and use :before/:after psuedos;
CSS in _logo-and-bg.scss modded for same;
Added _startup.scss to hold general CSS for
the startup screen;
Renamed startup.scss to startup-open.scss;
Modified SplashScreenManager.js to target renamed
outer container .l-splash-holder;
Added media query for startup screen on phone;
Cleanup: moved classes out of _effects into _global;
Still to-do: apply to WARP and VISTA, including needed
mods to their About dialog screens;
Add a runtime extension that detects the splash screen and triggers a fade out
after the application has loaded. Once the fade out has ended, it removes the
element from the page.
Related to https://github.com/nasa/openmctweb/issues/164
open #442
Fixed white space problem with .status-block-holder
applied to mct-include; Added new status 'available'
class and updated theme constants files;
Reinstantiate compass wrapper for each task execution. Allows stylesheets
task to be run multiple times by watch. Fixes a bug that prevents watch
from working properly.
Updates the stylesheet task to output CSS in the correct locations. Remove
config.rb for running compass manually, and remove compiled css files from
project. Add a .gitignore to ensure they don't get included accidentally.
Add a gulp task for running the development server and watching for scss
changes at the same time.
resolves https://github.com/nasa/openmctweb/issues/238
open #639
open #683
open #169
open #335
Fixed wrong application of body.desktop.mini-tab...;
Increased size of pane collapse/expand icons;
Removed max-width applied to search input holder;
open #639
open #683
open #169
open #494
Replaced MQ around mobile/_tree.scss ul.tree;
Removed MQ desktop around hover in mixin btnBase;
Reversed orientation of mobile tree arrows for #494;
open #639
Refactored all usage of @include desktop to use CSS selector body.desktop
instead; Still to-do: deal with desktopandtablet usage with hover bubbles
and mixins btnBase;
open #659
CSS for .rep-object-label modified; Added CSS class
to tabular-swimlane-cols-tree.html markup;
Also cleaned up .s-status-pending styles for related
label elements;
Add an optional parameter to method signature of
copyService, used to determine if a domain object should
or should not be cloned.
This will be used to support usages of copyService
where links should remain links;
https://github.com/nasa/openmctweb/pull/666/files#r52525612
open #638
Added custom radio button control and modified
PlotOptionsController / plotOptionsStructure
accordingly; spacing, borders, etc. are
all as finally intended;
Allow bundles to be removed by:
* Waiting for explicit activation before bootstrapping,
providing a time period when bundles could be removed.
* Adding a remove method to BundleRegistry
Acquire reference to moment as an argument instead of
assuming global availability; this appears to be no longer
be present globally after build changes
[New Edit Mode] #480 fixed JSLint errors
[New Edit Mode] #480 do not show locator for sub objects
[New Edit Mode] Modified persistence in SaveAction
Removed redundant variable
Fixed Failing Test
Fixed JSLint errors
Improved some documentation
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
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.
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;
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.
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;
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
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
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;
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!
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.
Declare external dependencies up-front in RequireJS
config; avoids problems due to changes in ordering
(since RequireJS config may be modified by bundle
contents.)
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
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.)
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
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
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
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)
* 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
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
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;
...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
...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.)
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
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;
open #208
Espresso and Snow now supported; bulk of
work done except for minor cleanups, like zoom
buttons; Dragging not working currently in Timelines;
open #251
Fixed markup and CSS to remove erroneously
applied "select" class;
Modified .select to not use overflow: hidden;
Better positioning for *-options elements;
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;
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.
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...
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...
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.
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;
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;
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;
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;
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;
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;
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;
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;
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
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;
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)
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.
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.
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.
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;
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.
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
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;
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.
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
...of templateLinker into mct-representation. Not working currently
due to prevalence of mct-representation instances with transcluding
directives (hitting a multiple transclusion error.)
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.
...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.
...from mct-include. Improves behavior of that directive and supports
testing of changes to remove whole elements when inapplicable,
nasa/openmctweb#195.
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.
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;
open #90
Squashed commit of the following:
commit a2d06583ca
Merge: 74f289c5d5425d
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: 4ec243c29bdc9d
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: 407d9883d996ac
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: 6ee622b21739ff
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: 099d70b87e317a
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: 90828ef8e2a2ee
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: bf24ac7dbebf08
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: 3080861496cf85
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: 07818b0fb0ce1e
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
...to reflect ability to change domain selection without
reinstantiation, supporting integration of domain-driven
formatting of X axis values in a plot.
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.
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.)
...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.
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.
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?
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.
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.
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.
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;
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;
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.
Add typedefs relevant to the date aggregator; in particular,
document properties used to determine how to format timestamps
associated with a telemetry point.
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.
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.
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.
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.
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.
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.
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.
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;
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;
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;
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;
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;
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;
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;
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, Copyright (c) 2014-2017, 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.
Open MCT is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Open MCT Web includes source code licensed under additional open source licenses as follows.
Open MCT includes source code licensed under additional open source licenses as follows.
## Software Components Licenses
@ -135,7 +135,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
* Link: http://requirejs.org/
* Version: 2.1.9
* Version: 2.1.22
* Author: The Dojo Foundation
@ -153,13 +153,49 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
---
### requirejs-text
#### Info
* Link: https://github.com/requirejs/text
* Version: 2.0.14
* Author: The Dojo Foundation
* Description: Text loading plugin for RequireJS
#### License
Copyright (c) 2010-2014, The Dojo Foundation
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.
---
### AngularJS
#### Info
* Link: http://angularjs.org/
* Version: 1.2.26
* Version: 1.4.4
* Author: Google
@ -167,7 +203,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
#### License
Copyright (c) 2010-2014 Google, Inc. http://angularjs.org
Copyright (c) 2010-2015 Google, Inc. http://angularjs.org
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:
@ -183,7 +219,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
* Link: http://angularjs.org/
* Version: 1.2.26
* Version: 1.4.4
* Author: Google
@ -191,7 +227,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
#### License
Copyright (c) 2010-2014 Google, Inc. http://angularjs.org
Copyright (c) 2010-2015 Google, Inc. http://angularjs.org
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:
@ -207,7 +243,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
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.
---
### Modernizr
#### Info
* Link: http://modernizr.com
* Version: 2.6.2
* Author: Faruk Ateş
* Description: Browser/device capability finding
#### License
Copyright (c) 2009–2015
Copyright (c) 2010-2012 Robert Kieffer
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:
@ -327,7 +339,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
* Link: http://momentjs.com
* Version: 2.7.0
* Version: 2.11.1
* Authors: Tim Wood, Iskren Chernev, Moment.js contributors
@ -345,6 +357,139 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
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.
---
### Zepto
#### Info
* Link: http://zeptojs.com/
* Version: 1.1.6
* Authors: Thomas Fuchs
* Description: DOM manipulation
#### License
Copyright (c) 2010-2016 Thomas Fuchs
http://zeptojs.com/
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
@ -415,3 +560,132 @@ The above copyright notice and this permission notice shall be included in all c
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.
---
### Almond
* Link: https://github.com/requirejs/almond
* Version: 0.3.3
* Author: jQuery Foundation
* Description: Lightweight RequireJS replacement for builds
#### License
Copyright jQuery Foundation and other contributors, https://jquery.org/
This software consists of voluntary contributions made by many
individuals. For exact contribution history, see the revision history
available at https://github.com/requirejs/almond
The following license applies to all parts of this software except as
documented below:
====
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.
====
Copyright and related rights for sample code are waived via CC0. Sample
code is defined as all source code displayed within the prose of the
# Open MCT [](http://www.apache.org/licenses/LICENSE-2.0)
Open MCT Web is a web-based platform for mission operations user interface
software.
Open MCT (Open Mission Control Technologies) is a next-generation mission control framework for visualization of data on desktop and mobile devices. It is developed at NASA's Ames Research Center, and is being used by NASA for data analysis of spacecraft missions, as well as planning and operation of experimental rover systems. As a generalizable and open source framework, Open MCT could be used as the basis for building applications for planning, operation, and analysis of any systems producing telemetry data.
## Bundles
Please visit our [Official Site](https://nasa.github.io/openmct/) and [Getting Started Guide](https://nasa.github.io/openmct/getting-started/)
A bundle is a group of software components (including source code, declared
as AMD modules, as well as resources such as images and HTML templates)
that are intended to be added or removed as a single unit. A plug-in for
Open MCT Web will be expressed as a bundle; platform components are also
expressed as bundles.
## See Open MCT in Action
A bundle is also just a directory which contains a file `bundle.json`,
which declares its contents.
Try Open MCT now with our [live demo](https://openmct-demo.herokuapp.com/).
The file `bundles.json` (note the plural), at the top level of the
repository, is a JSON file containing an array of all bundles (expressed as
directory names) to include in a running instance of Open MCT Web. Adding or
removing paths from this list will add or remove bundles from the running
application.
## New API
### Bundle Contents
A simpler, [easier-to-use API](https://nasa.github.io/openmct/docs/api/)
has been added to Open MCT. Changes in this
API include a move away from a declarative system of JSON configuration files
towards an imperative system based on function calls. Developers will be able
to extend and build on Open MCT by making direct function calls to a public
API. Open MCT is also being refactored to minimize the dependencies that using
Open MCT imposes on developers, such as the current requirement to use
AngularJS.
A bundle directory will contain:
This new API has not yet been heavily used and is likely to contain defects.
You can help by trying it out, and reporting any issues you encounter
using our GitHub issue tracker. Such issues may include bugs, suggestions,
missing documentation, or even just requests for help if you're having
trouble.
*`bundle.json`, the declaration of the bundles contents.
* A source code directory, named `src` by convention. This contains all
JavaScript sources exposed by the bundle. These are declared as
AMD modules.
* A directory for other resources, named `res` by convention. This
contains all HTML templates, CSS files, images, and so forth to be
used within a given bundle.
* A library directory, named `lib` by convention. This contains all
external libraries used and/or exposed by the bundle.
* A test directory, named `test` by convention. This contains all unit
tests declared for the bundle, as well as a `suite.json` that acts
as a listing of these dependencies. See the section on unit testing
below.
We want Open MCT to be as easy to use, install, run, and develop for as
possible, and your feedback will help us get there!
Following these bundle conventions is required, at present, to ensure
that Open MCT Web (and its build and tests) execute correctly.
## Building and Running Open MCT Locally
Building and running Open MCT in your local dev environment is very easy. Be sure you have [Git](https://git-scm.com/downloads) and [Node.js](https://nodejs.org/) installed, then follow the directions below. Need additional information? Check out the [Getting Started](https://nasa.github.io/openmct/getting-started/) page on our website.
(These instructions assume you are installing as a non-root user; developers have [reported issues](https://github.com/nasa/openmct/issues/1151) running these steps with root privileges.)
1. Clone the source code
`git clone https://github.com/nasa/openmct.git`
2. Install development dependencies
`npm install`
3. Run a local development server
`npm start`
Open MCT is now running, and can be accessed by pointing a web browser at [http://localhost:8080/](http://localhost:8080/)
## Documentation
Documentation is available on the [Open MCT website](https://nasa.github.io/openmct/documentation/). The documentation can also be built locally.
### Examples
The clearest examples for developing Open MCT plugins are in the
[tutorials](https://github.com/nasa/openmct-tutorial) provided in
our documentation.
For a practical example of a telemetry adapter, see David Hudson's
[Kerbal Space Program plugin](https://github.com/hudsonfoo/kerbal-openmct),
which allows [Kerbal Space Program](https://kerbalspaceprogram.com) players
to build and use displays for their own missions in Open MCT.
Additional examples are available in the `examples` hierarchy of this
repository; however, be aware that these examples are
[not fully-documented](https://github.com/nasa/openmct/issues/846), so
the tutorials will likely serve as a better starting point.
### Building the Open MCT Documentation Locally
Open MCT'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`.
## Deploying Open MCT
Open MCT is built using [`npm`](http://npmjs.com/)
To build Open MCT for deployment:
`npm run prepare`
This will compile and minify JavaScript sources, as well as copy over assets.
The contents of the `dist` folder will contain a runnable Open MCT
instance (e.g. by starting an HTTP server in that directory), including:
*`openmct.js` - Open MCT source code.
*`openmct.css` - Basic styles to load to prevent a FOUC.
*`index.html`, an example to run Open MCT in the basic configuration.
## 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 3](http://jasmine.github.io/)
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.
### 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
line build allows machine-driven verification and packaging.
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.
* 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
as the top-level files used to initiate running of the application
(`index.html` and `bundles.json`).
Run as `mvn clean install`.
### Building Documentation
Open MCT Web's documentation is generated by an
[npm](https://www.npmjs.com/)-based build:
*`npm install`_(only needs to run once)_
*`npm run docs`
Documentation will be generated in `target/docs`. Note that diagram
generation is dependent on having [Cairo](http://cairographics.org/download/)
- [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)
## Imperative 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 imperative 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 factories, 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:
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 setup of developer environments.
Gulp and grunt provide useful developer tooling such as live reload, automatic scss/less/etc compilation, 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:
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
varmyApp=newOpenMCTWeb();
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
* [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.
* [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.
* Open MCT Web, Copyright (c) 2014-2015, United States Government
* Open MCT, Copyright (c) 2014-2017, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
* Open MCT Web is licensed under the Apache License, Version 2.0 (the
* Open MCT is licensed under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0.
@ -14,7 +14,7 @@
* License for the specific language governing permissions and limitations
* under the License.
*
* Open MCT Web includes source code licensed under additional open source
* Open MCT includes source code licensed under additional open source
* licenses. See the Open Source Licenses file (LICENSES.md) included with
* this source code distribution or the Licensing information page available
* at runtime from the About dialog for additional information.
@ -22,57 +22,23 @@
/*global define */
/**
* Module defining EventTelemetry.
* Module defining EventTelemetry.
* Created by chacskaylo on 06/18/2015.
* Modified by shale on 06/23/2015.
* Modified by shale on 06/23/2015.
*/
define(
[],
function(){
['../data/transcript.json'],
function(messages){
"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."]);
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.