mirror of
https://github.com/nasa/openmct.git
synced 2025-01-03 20:04:09 +00:00
223a0feada
161 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
Deep Tailor
|
c6a181a2e7 |
Notebook bug fixes from Testathon - 12/4/2018 (#2236)
* 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 |
||
Charles Hacskaylo
|
5928a102a6 |
Theme refactoring (#2234)
* 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 |
||
Andrew Henry
|
c748569433 |
Address testathon issues relating to context menu (#2235)
* 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 |
||
Deep Tailor
|
a87fc51fbb |
Flexible Layout Refactor (#2223)
* 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. |
||
Pegah Sarram
|
e07cfc9394 |
Layout drawing (#2232)
* - 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. |
||
Andrew Henry
|
32a0baa7a3 |
Context menu actions (#2229)
* 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 |
||
Andrew Henry
|
2dcff00fa7 | Added legacy action layer | ||
Andrew Henry
|
a7948ce83e | Implemented context menu action registry | ||
Charles Hacskaylo
|
3e7527d55c |
Fixes for Flex Layout in TCR (#2221)
- Object view now displays objects; - FL frame header fixed; - Fixed grippy look and positioning for now; |
||
Pete Richards
|
e05dbadea2 | Ensure labels and tree items stay in sync | ||
Pete Richards
|
bc512f3766 |
Retrieve latest object before create
Retrieve latest object before creation to ensure we are not mutating an outdated version. |
||
Pete Richards
|
ff7df9ad1e
|
context menu and shared object link generation (#2199)
* 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 |
||
Deep Tailor
|
1069a45cfc |
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 |
||
Pegah Sarram
|
d13d59bfa0 |
Display layout alphanumeric (#2203)
* 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. |
||
Pete Richards
|
7c54ec4f9f | Tree listens for composition | ||
Andrew Henry
|
cbcfd44016 |
Elements pool and drag drop (#2196)
* 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 |
||
Pete Richards
|
06b9e0fa97
|
Create menu (#2195)
* 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 |
||
Pegah Sarram
|
4374a6fa28 |
Toolbar in Fixed Position (#2194)
* 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 |
||
Deep Tailor
|
67883519ee |
Overlay Service - rewritten/redesigned in Vue (#2190)
* 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 |
||
Andrew Henry
|
6f1b5b4ae3 |
Notifications progress method (#2193)
* 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 |
||
Pegah Sarram
|
d48cc2deee |
Vue toolbar (#2191)
* 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 |
||
Andrew Henry
|
64b9d4c24a |
Vue status bar (#2188)
* Implemented indicators * WIP * Fixed templates from notifications example * Message bar implemented * Implemented notifications * Fixed bug with destruction of notifications * Renamed MessageBanner to NotificationBanner * Add save success message * Removed NotificationServiceSpec * Removed legacy constants from bundle |
||
Charles Hacskaylo
|
5f9f3cd8e8 |
Topic themes (#2187)
* Bringing over in-progress changes from topic-core-css - Adds _espresso-constants.scss; - Cleanup colors and naming; - Remove conflict res leftover 'domainObject' in mct-tree.vue; - Still WIP! * Various - Remove pushBack / pullForward functions; - Fix c-input-inline, remove bg until hover; - TODO: input bg colors - Increased margin in main-pane; * Themeing WIP - Conductor markup: convert to buttons for accessibility; - Conductor styles consolidated and changed for better theme support; * Themeing WIP; significant rewrite of pane headers - Pane headers restructured for better semantics and clarity; - Espresso design refined and tightened; - Grid Vue changes for better themeing support; - TODO: fix mobile version, collapse icon is whack; * Restored Number-type input styling for correct positioning of spinner button; * Themeing mods for click-icon styles * Bring Snow theme into style parity with Espresso - TODO: refine Snow colors; * Mobile styling fixed - Mobile menu icon significant fixes; - Hover only applied to desktop; - Reorg of mixins; * Bring Snow theme constants into parity with Espresso - Refined Snow styles; - Fixed missing scroll and padding in tree; - Pane collapse button now uses proper color; - Item Grid view refinement; - Cleaned up code; * Color fixes - Super-menu description; - Conductor time buttons hover; - Datepicker "in-month" items color; - Espresso colorKeyFilter brightened; |
||
charlesh88
|
814b404614 |
Fixes for Inspector Plot properties, and more
- 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; |
||
charlesh88
|
72cdb352f0 | Fix s-selected, edit grid displays | ||
Pete Richards
|
acc4e03c88 | Merge duplicate data method, correct is-editing class | ||
Deep Tailor
|
f40c9fa6f9 |
Overlay Service re-written in Vue (#2186)
* 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 |
||
Pegah Sarram
|
e7cdb334de |
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 |
||
Charles Hacskaylo
|
afca6cd2e9 |
Review and merge latest topic-core-css (#2183)
* 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; |
||
Andrew Henry
|
3c324cbea0 |
Initial implementation of Edit mode (#2181)
* 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. |
||
Charles Hacskaylo
|
56b9708ab7 |
Review and integrate Time Conductor Vue style conversion (#2180)
Styling updates for Vue version of Time Conductor |
||
Deep Tailor
|
58da916d18 | remove arrow function from data | ||
Deep Tailor
|
a0327b56aa | remove unused/empty update lifecycle method from layout.vue | ||
Deep Tailor
|
57d60128a2 | fix not-showing of conductor caused by merge with topic-core-refactor | ||
Andrew Henry
|
987740c649 |
Reimplementation of time conductor in Vue.js (#2173)
* 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 |
||
Deep Tailor
|
944505a5f1 |
Folder views refactor (#2171)
Folder views rewritten in Vue.js |
||
Andrew Henry
|
c5187d8509 | Sort views by priority (#2174) | ||
charlesh88
|
7483e886f1 |
Fix layout issues with overflow, shrinking, etc.
- Tree, main area, header, browse-bar |
||
Charles Hacskaylo
|
ef92da4d9d |
Custom search input component integrated (#2170)
- Integrated into main layout already; added to table.vue and Notebook; |
||
charlesh88
|
80b02672a6 |
Fix new ObjectView
- Removed empty <div> in template; - Added display: contents to container div; |
||
Charles Hacskaylo
|
fbf1c68c7a |
Notebook vue styling (#2169)
* Notebook styling WIP - New notebook scss file; - notebook.html converted; * Notebook styling WIP - Entries and embeds - New discreteItem theme constants; * Notebook styling shippable - Notebook entries and embeds finished; - TODO: Fix styling for c-input-inline when SCSS is merged and remove s-input-inline class in entry.html; * Notebook styling shippable - Remove legacy Notebook styles; - Painterro overrides; - Code cleanup * Notebook mobile styling; entry layout still WIP - Entries now layout better in narrow containers but still WIP, particularly for delete icon; - Mobile styling; * Notebook entry markup for better narrow Notebook layout |
||
Pete Richards
|
5eac6e646b |
ObjectView supports reuse and props
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. |
||
Pete Richards
|
82e5bf2325 | remove unnecessary container | ||
Pete Richards
|
40b7117987
|
Object views (#2165)
* Use new style view providers for all object views. * support legacy views with deprecation warning * tidy deprecation warnings |
||
Deep Tailor
|
07ca60e13a |
Dynamically generate create menu items (#2163)
* 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 |
||
Deep Tailor
|
08cd6b1d99 |
Vue Browse Bar (#2164)
* 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 |
||
Pete Richards
|
eaa971cb56
|
Vue main section overhaul (#2161)
* 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 |
||
charlesh88
|
e2e0cf17db |
Splitter refinement
- Arrow icons; - Code cleanup; |
||
Pete Richards
|
01a39f4fb7 |
[Inspector] More vue
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. |
||
Pete Richards
|
1bb1330cba |
Squashed commit of the following:
commit |
||
Pete Richards
|
0d53898af9 |
Build refactor to webpack (#2139)
* 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. |
||
Pegah Sarram
|
73e38f1955 |
[Toolbar] Implement a public API for adding toolbars (#1908)
* [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 |
||
Nick Weingartner
|
c55eaeb193 |
[Copyright] Update copyright year across platform code references
Fixes #2034. |
||
Pegah Sarram
|
425655bae0 |
[Layout] Support sub-object selection in layout (#1811)
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 |
||
Victor Woeltjen
|
50b4d5cb28 |
[Autoflow] Rewrite Autoflow Tabular using new APIs (#1816)
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. |
||
Aaron Doubek-Kraft
|
4b07930305 |
Summary Widgets (#1668)
* [ViewAPI] Update view API with more support Update view provider to allow metadata definitions and to play nicely with old style views. Spec out some updates to ViewProviders and ViewRegistry to support further use of views. * [Summary Widgets] Add summary widgets Add a summary widget domain object type Implement basic interface and style configuration for rules * [Summary Widgets] Implementation for Rules Add rule configuration inputs, populated with domain objects, metadata, and appropriate operations for a given type * [Inputs] Add implementation for icon palette Issue #1644 Wire up icon palette inputs to widget, and make icon class a persistable property of a rule * [Summary Widgets] Implementation for conditions Support configuring and persisting multiple conditions per rule Issue #1644 * [Summary Widgets] Generate Rule Descriptions Dynamically update the rule description based on the current state of the rules' conditions * [Summary Widgets] 'Any/All Telemetry' in conditions Add UI and implemenetion for evaluating any telemetry or all telemetry in an individual condition. Add related unit tests. * [Summary Widgets] Rule Reorders Implement drag and drop rule reorders using the native HTML5 API * [Summary Widget] Test Data Issue #1644 Add user-configurable mock data to test rules. Modify evaluator to gracefully handle uninitialzed test data points. * [Summary Widgets] Edit Mode Enable edit mode for summary widgets, and make configuration interface visible only when the user has entered edit mode Fix collision between widget palettes and other interfaces where palettes would permanently hide other menus * [Summary Widgets] UI for scripted conditions * [Sumamry Widgets] Destroy Implement destroy * [Summary Widgets] Cleanup Remove unnecessary persist calls in Rule.js. Remove generateDescription from refreshConditions and add it after refreshConditions to initCondition and deleteCondition Throw error when unsupported callback is passed in condition.js, return summary widget instance in plugin.js instead of wrapping in new object for view Add request properties to telemetry request for providers that support it Remove check for editing when persisting, in SummaryWidget.js |
||
Henry
|
d7b44f8d09 | Initial functional view API implementation. See #1642 | ||
Victor Woeltjen
|
185567cf29 |
[Licenses] Update copyright year to 2017
Fixes #1517 |
||
Pete Richards
|
aaedf5d576 |
cssclass is now cssClass
Make property name consistent with standard camelCase naming. |
||
Victor Woeltjen
|
00d0b71080 |
[API] Use ViewRegistry from dialog adapter
https://github.com/nasa/openmct/pull/1212#pullrequestreview-2458991 |
||
Victor Woeltjen
|
b0e842863d |
Squashed commit of the following:
commit |