2016-12-23 20:57:52 +00:00
|
|
|
/*****************************************************************************
|
2018-05-14 22:46:17 +00:00
|
|
|
* Open MCT, Copyright (c) 2014-2018, United States Government
|
2016-12-23 20:57:52 +00:00
|
|
|
* as represented by the Administrator of the National Aeronautics and Space
|
|
|
|
* Administration. All rights reserved.
|
|
|
|
*
|
|
|
|
* Open MCT is licensed under the Apache License, Version 2.0 (the
|
|
|
|
* "License"); you may not use this file except in compliance with the License.
|
|
|
|
* You may obtain a copy of the License at
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0.
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
|
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
|
|
* License for the specific language governing permissions and limitations
|
|
|
|
* under the License.
|
|
|
|
*
|
|
|
|
* Open MCT includes source code licensed under additional open source
|
|
|
|
* licenses. See the Open Source Licenses file (LICENSES.md) included with
|
|
|
|
* this source code distribution or the Licensing information page available
|
|
|
|
* at runtime from the About dialog for additional information.
|
|
|
|
*****************************************************************************/
|
|
|
|
|
|
|
|
define([
|
2017-02-21 23:56:08 +00:00
|
|
|
'lodash',
|
2017-04-15 00:06:46 +00:00
|
|
|
'./utcTimeSystem/plugin',
|
2017-03-29 20:15:46 +00:00
|
|
|
'../../example/generator/plugin',
|
2017-12-07 21:01:10 +00:00
|
|
|
'./autoflow/AutoflowTabularPlugin',
|
2017-05-22 21:40:35 +00:00
|
|
|
'./timeConductor/plugin',
|
2017-07-11 21:45:26 +00:00
|
|
|
'../../example/imagery/plugin',
|
2017-01-27 22:14:37 +00:00
|
|
|
'../../platform/import-export/bundle',
|
2017-11-28 21:23:15 +00:00
|
|
|
'./summaryWidget/plugin',
|
2017-10-27 21:12:44 +00:00
|
|
|
'./URLIndicatorPlugin/URLIndicatorPlugin',
|
2018-03-02 22:29:34 +00:00
|
|
|
'./telemetryMean/plugin',
|
2018-03-09 20:39:25 +00:00
|
|
|
'./plot/plugin',
|
2018-08-31 18:54:46 +00:00
|
|
|
'./telemetryTable/plugin',
|
2018-09-12 22:27:19 +00:00
|
|
|
'./staticRootPlugin/plugin',
|
2018-09-26 22:34:44 +00:00
|
|
|
'./notebook/plugin',
|
Reimplementation of Display Layout in Vue (#2185)
* 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
2018-10-04 22:59:23 +00:00
|
|
|
'./displayLayout/plugin',
|
2018-10-19 18:42:30 +00:00
|
|
|
'./folderView/plugin',
|
Flexible Layout (#2201)
* 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
2018-11-09 01:17:14 +00:00
|
|
|
'./flexibleLayout/plugin',
|
2018-10-26 21:14:00 +00:00
|
|
|
'./tabs/plugin',
|
2019-01-11 19:21:52 +00:00
|
|
|
'./LADTable/plugin'
|
2017-02-21 23:56:08 +00:00
|
|
|
], function (
|
|
|
|
_,
|
|
|
|
UTCTimeSystem,
|
2017-03-29 20:15:46 +00:00
|
|
|
GeneratorPlugin,
|
2017-04-15 00:06:46 +00:00
|
|
|
AutoflowPlugin,
|
2017-05-22 21:40:35 +00:00
|
|
|
TimeConductorPlugin,
|
2017-07-11 21:45:26 +00:00
|
|
|
ExampleImagery,
|
2017-01-27 22:14:37 +00:00
|
|
|
ImportExport,
|
2017-11-28 21:23:15 +00:00
|
|
|
SummaryWidget,
|
2017-10-27 21:12:44 +00:00
|
|
|
URLIndicatorPlugin,
|
2018-03-02 22:29:34 +00:00
|
|
|
TelemetryMean,
|
2018-03-09 20:39:25 +00:00
|
|
|
PlotPlugin,
|
2018-08-31 18:54:46 +00:00
|
|
|
TelemetryTablePlugin,
|
2018-09-12 22:27:19 +00:00
|
|
|
StaticRootPlugin,
|
2018-09-26 22:34:44 +00:00
|
|
|
Notebook,
|
Reimplementation of Display Layout in Vue (#2185)
* 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
2018-10-04 22:59:23 +00:00
|
|
|
DisplayLayoutPlugin,
|
2018-10-19 18:42:30 +00:00
|
|
|
FolderView,
|
Flexible Layout (#2201)
* 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
2018-11-09 01:17:14 +00:00
|
|
|
FlexibleLayout,
|
2018-10-26 21:14:00 +00:00
|
|
|
Tabs,
|
2019-01-11 19:21:52 +00:00
|
|
|
LADTable
|
2017-02-21 23:56:08 +00:00
|
|
|
) {
|
2017-01-12 22:56:47 +00:00
|
|
|
var bundleMap = {
|
2017-02-22 20:27:24 +00:00
|
|
|
LocalStorage: 'platform/persistence/local',
|
2018-09-12 22:27:19 +00:00
|
|
|
MyItems: 'platform/features/my-items'
|
2017-01-12 22:56:47 +00:00
|
|
|
};
|
|
|
|
|
2017-01-13 19:34:05 +00:00
|
|
|
var plugins = _.mapValues(bundleMap, function (bundleName, pluginName) {
|
2017-02-22 20:27:24 +00:00
|
|
|
return function pluginConstructor() {
|
|
|
|
return function (openmct) {
|
|
|
|
openmct.legacyRegistry.enable(bundleName);
|
|
|
|
};
|
2017-01-12 22:50:55 +00:00
|
|
|
};
|
2017-01-12 23:17:48 +00:00
|
|
|
});
|
2017-01-12 22:56:47 +00:00
|
|
|
|
2018-08-07 21:47:50 +00:00
|
|
|
plugins.Snow = function () {
|
|
|
|
return function install(openmct) {
|
|
|
|
openmct.legacyExtension('constants', {
|
|
|
|
key: "THEME",
|
|
|
|
value: "snow"
|
|
|
|
});
|
|
|
|
import('snow' /* webpackChunkName: "theme-snow" */);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
plugins.Espresso = function () {
|
|
|
|
return function install(openmct) {
|
|
|
|
openmct.legacyExtension('constants', {
|
|
|
|
key: "THEME",
|
|
|
|
value: "espresso"
|
|
|
|
});
|
|
|
|
import('espresso' /* webpackChunkName: "theme-espresso" */);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2017-04-15 00:06:46 +00:00
|
|
|
plugins.UTCTimeSystem = UTCTimeSystem;
|
2017-02-21 23:56:08 +00:00
|
|
|
|
2017-07-11 21:45:26 +00:00
|
|
|
plugins.ImportExport = ImportExport;
|
|
|
|
|
2018-03-09 20:39:25 +00:00
|
|
|
plugins.StaticRootPlugin = StaticRootPlugin;
|
|
|
|
|
2017-03-30 00:15:29 +00:00
|
|
|
/**
|
|
|
|
* A tabular view showing the latest values of multiple telemetry points at
|
|
|
|
* once. Formatted so that labels and values are aligned.
|
|
|
|
*
|
|
|
|
* @param {Object} [options] Optional settings to apply to the autoflow
|
|
|
|
* tabular view. Currently supports one option, 'type'.
|
|
|
|
* @param {string} [options.type] The key of an object type to apply this view
|
|
|
|
* to exclusively.
|
|
|
|
*/
|
|
|
|
plugins.AutoflowView = AutoflowPlugin;
|
2017-03-29 20:15:46 +00:00
|
|
|
|
2018-09-26 22:41:04 +00:00
|
|
|
plugins.Conductor = TimeConductorPlugin.default;
|
2017-02-22 01:37:52 +00:00
|
|
|
|
2017-01-12 22:56:47 +00:00
|
|
|
plugins.CouchDB = function (url) {
|
|
|
|
return function (openmct) {
|
2017-01-12 23:10:14 +00:00
|
|
|
if (url) {
|
|
|
|
var bundleName = "config/couch";
|
|
|
|
openmct.legacyRegistry.register(bundleName, {
|
|
|
|
"extensions": {
|
|
|
|
"constants": [
|
|
|
|
{
|
2017-01-13 19:46:14 +00:00
|
|
|
"key": "COUCHDB_PATH",
|
2017-01-12 23:10:14 +00:00
|
|
|
"value": url,
|
|
|
|
"priority": "mandatory"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
});
|
|
|
|
openmct.legacyRegistry.enable(bundleName);
|
|
|
|
}
|
2017-01-12 23:07:07 +00:00
|
|
|
|
2017-02-22 20:27:24 +00:00
|
|
|
openmct.legacyRegistry.enable(bundleMap.CouchDB);
|
2017-01-12 22:56:47 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2017-01-13 19:36:46 +00:00
|
|
|
plugins.Elasticsearch = function (url) {
|
2017-01-12 22:56:47 +00:00
|
|
|
return function (openmct) {
|
2017-01-12 23:08:45 +00:00
|
|
|
if (url) {
|
|
|
|
var bundleName = "config/elastic";
|
|
|
|
openmct.legacyRegistry.register(bundleName, {
|
|
|
|
"extensions": {
|
|
|
|
"constants": [
|
|
|
|
{
|
|
|
|
"key": "ELASTIC_ROOT",
|
|
|
|
"value": url,
|
|
|
|
"priority": "mandatory"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
});
|
|
|
|
openmct.legacyRegistry.enable(bundleName);
|
|
|
|
}
|
2017-01-12 23:07:07 +00:00
|
|
|
|
2017-02-22 20:27:24 +00:00
|
|
|
openmct.legacyRegistry.enable(bundleMap.Elasticsearch);
|
2017-01-12 22:56:47 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2017-02-22 02:33:51 +00:00
|
|
|
plugins.Generator = function () {
|
|
|
|
return GeneratorPlugin;
|
|
|
|
};
|
|
|
|
|
2017-05-22 21:40:35 +00:00
|
|
|
plugins.ExampleImagery = ExampleImagery;
|
2018-03-02 22:29:34 +00:00
|
|
|
plugins.Plot = PlotPlugin;
|
2018-08-31 18:54:46 +00:00
|
|
|
plugins.TelemetryTable = TelemetryTablePlugin;
|
2018-09-12 22:27:19 +00:00
|
|
|
|
2017-11-28 21:23:15 +00:00
|
|
|
plugins.SummaryWidget = SummaryWidget;
|
2017-10-27 21:12:44 +00:00
|
|
|
plugins.TelemetryMean = TelemetryMean;
|
2018-07-16 22:21:38 +00:00
|
|
|
plugins.URLIndicator = URLIndicatorPlugin;
|
2018-09-12 22:27:19 +00:00
|
|
|
plugins.Notebook = Notebook;
|
Reimplementation of Display Layout in Vue (#2185)
* 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
2018-10-04 22:59:23 +00:00
|
|
|
plugins.DisplayLayout = DisplayLayoutPlugin.default;
|
2018-09-26 22:34:44 +00:00
|
|
|
plugins.FolderView = FolderView;
|
2018-10-26 21:14:00 +00:00
|
|
|
plugins.Tabs = Tabs;
|
Flexible Layout (#2201)
* 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
2018-11-09 01:17:14 +00:00
|
|
|
plugins.FlexibleLayout = FlexibleLayout;
|
2018-12-20 21:18:22 +00:00
|
|
|
plugins.LADTable = LADTable;
|
2017-01-27 22:14:37 +00:00
|
|
|
|
2017-01-12 22:56:47 +00:00
|
|
|
return plugins;
|
2016-12-23 20:57:52 +00:00
|
|
|
});
|