* refactor: convert Type API to ES6 module
- Another AMD module bites the dust 🧹
* feat: add initial configurable plan type
- Name change TBD
* feat: add `clipActivityNames` property
- refactor: initialize data to `null`
* refactor: general code cleanup
* feat(WIP): name clipping via clipPath elements
* feat: compose a Gantt Chart using a Plan
- Allows Plans to be dragged into Gantt Charts (name tentative) to create a configurable Activity View
- Clip/Unclip activity names by editing domainObject property
* feat: replace Plan if another is dragged in
- SImilar to Gauges or Scatter Plots, launch a confirmation dialog to replace the existing Plan with another, if another Plan is dragged into the chart.
* test: fix tests, add basic tests for gantt
* tes(e2e): fix plan test
* docs: add TODO
* refactor: clean up more string literals
* style: remove `rx`, increase min width
- round widths to nearest integer
* refactor: extract timeline creation logic
- extracts the logic for creating the timeline into its own component, `ActivityTimeline.vue`. This will save us a lot of re-renders, as we were manually creating elements / clearing them on each tick
* style: fix text y-pos and don't round
* fix: make activities clickable again
* docs: add copyright docs
* feat: swimlane visibility
- configure plan view from inspector
fix: update plans when file changes
- fix gantt chart display in time strips
- code cleanup
* fix: gantt chart embed in time strip
* remove viewBox for now
* fix: make `clipPath` ids more unique
* refactor: more code cleanup
* refactor: more code cleanup
* test: fix existing Plan unit tests
* refactor: rename variables
* fix: respond to code review comments
- Move config manipulation to PlanViewConfiguration.js/.vue
- Variable renames, code refactoring
* fix: unique, reproducible clipPathIds
* fix: only mutate swimlaneVisibility once on init
* fix: really make clipPathId unique this time
* refactor: use default config
* Closes#6113
- Refined CSS class naming and application.
- Set cursor to pointer for Activity elements.
- Added <title> node to Activity elements.
- Styling for selected Activities.
- Better Inspector tab name.
* fix: make Plan creatability configurable and false by default
* test: fix existing tests and add a couple new ones
* Closes#6113
- Now uses SVG <symbol> instead of rect within Activity element.
- Passes in `rowHeight` as a prop from Plan.vue.
- SWIMLANE_PADDING const added and used to create margin at top and bottom
edges of swimlanes.
- Refined styling for selected activities.
- New `$colorGanttSelectedBorder` theme constant.
- Smoke tested in Espresso and Snow themes.
* fix: default swimlaneWidth to clientWidth
* test: fix test
* feat: display selected activity name as header
* fix: remove redundant listener
* refactor: move `examplePlans.js` into `test-data/`
* docs: remove copyright header
* refactor: move `helper.js` into `helper/`
* refactor: `helper.js` -> `planningUtils.js`
* fix: update pathing
* test: add tests for gantt/plan
- add visual tests for gantt / plan
- add test for clicking a single activity and verifying its contents in the inspector
---------
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
* implement new search and tagging for notebooks
* add example tags, remove inspector reference
* include annotations in mct
* fix performance tests
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: unlikelyzero <jchill2@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Add new Gauge component
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Add new timelist view and plugin
* Add inspector properties
* calculate list bounds to show/hide events
* Add timer to track 'Now' for timelist
* Styling for Timelist view
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
Co-authored-by: Nikhil <nikhil.k.mandlik@nasa.gov>
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
* Add clearData listener for imageryData module
* Remove commented out code
* Updated imagery clear data test
* Adjusted telemetry stub to return empty array if data cleared
* Remove forced test
* Restub telemetry before
* Cleanup and reset clear data boolean after
* Remove double blank line
Co-authored-by: Scott Bell <scott@traclabs.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Implements User API and example user plugin
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Updates Event Generator to ES6 classes and current API.
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* touch every file on earth to update copyright
* update one more
* pick up 2017 2018 2019
* revert fuchs copyright
* revert other bundle copyrights
* somehow missed one
* Make legacy support optional
* Fix order of legacy plugin registration
* Added 'supportComposition' function
* Add composition policy to check that parent supports composition
* Fix memory leaks in timer
* Re-implemented timer and clock and installed as a plugin
* Clock indicator is installed as configuration to clock plugin
* Uses moment
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Nikhil <nikhil.k.mandlik@nasa.gov>
* added vue hyperlink plugin
* remove angular code. update target attribute
* Polishing on form styles
- Remove `display: flex` from `.l-shell__main-container` and
`.c-so-view__object-view` CSS - IMPORTANT: NEEDS REGRESSION TESTING!
- Improvements to `.c-hyperlink` CSS;
- Markup cleanups and simplification;
- Remove duped CSS in object-frame.scss, probably result of prior bad
past merge;
* Fixes for object-frame and preview.scss
* Refinement to make hyperlink button have same display behavior as
Condition Widget;
* refactor layout template. update tests
* remove legacy hyperlink
* Updating firefox launcher
Co-authored-by: Henry Hsu <henry.hsu@nasa.gov>
Co-authored-by: charlesh88 <charles.f.hacskaylo@nasa.gov>
* Initial commit of plot refactor for vuejs
* Use es6 classes instead of using extend
* Use classList api to add and remove classes
* Remove angular specific event mechanisms
* Refactor plot legend into smaller components
* Refactor moving config into MctPlot component. Fix Legend issues.
* Refactor XAxis and YAxis into their own components
* Remove commented out code
* Remove empty initialize method
* Fix grid lines and initialize function revert.
* Check that plots views are available only to domainObjects that have range and domain
* Make css class a computed property
* Remove unnecessary legacyObject conversion
* Remove comments and commented out code
* Remove use of private for vue methods
* Remove console logs
* Fixes Y-axis ticks display
* Add plots and plans to the time strip view
* Adds stacked plots and overlay plots
* Fix css for stacked plots
* Disable Vue plots
* Rename Stacked plot item component
* Make the time axis a component
Ensure plans and timelines use the time axis component and it is displayed correctly
ensure plots don't display specific controls when in compact mode
* Add missing file
* Revert change to state generator metadata
* Address Review comment: Remove unnecessary event emitted
* Address review comments: Add a note about why nextTick is needed
* Display time systems in time strip view
Update look and feel (css)
* Fix bug with legend when multiple plots are being displayed
* Don't show action buttons for stacked plots
* Changes to plan view to render as a css grid
* Change LinearScale to a class
* Remove duplicated comment
* Adds missing copyright info
* Revert change to stackedplotItem
* Styling for Timestrip view WIP
- Significant mods to markup and CSS to use CSS grid;
- CSS class names changed;
* Styling for Timestrip view WIP
- Temp mods to illustrate design desires for the appearance of the time
axis;
* Layout changes for plan in timestrip view
* Increase style height to match number of stacked plot items
* Fix ticks
* Fix removal of activities
* Remove event listeners on destroy
* Styling for Timestrip view WIP
- VERY WIP trying to make the plan component work properly when dropped
into a Timestrip view, lots of badness that needs to be fixed;
- Refined classes in acivity bars to differentiate between the rect and
its text;
* Show Vue plots only in timestrip view.
Reorder and Remove now works for timestrip objects
* Make swim lanes a component to be reused by time strip and plan views
Rewrite svg rendering to use javascript rather than d3.
Write a prototype of foreign object for svg to render text
* Don't show left and right edges when start or end is out of bounds
* Descriptive name for Plan views
* Adds plan icon and name
* Fixes linting issues
* Adds basic tests
* Fixes broken test.
* Adds new test
* Fix linting errors. Adds tests
* Adds tests
* Adds tests for stacked plots
* Adds more tests
* Removes fdescribe
* Adds tests for y-axis ticks
* Tests for addition of series to plots
* Adds more tests
* Adds cursor guides test
* Adds tests for interceptors
* Adds more plots tests for x and y scale
* Use config store
* Adding goToOriginalAction tests
* Fix tests for plan and time strip views
* Fixes height of SVG
* Fixes broken tests
* Address review comments: remove view options API change.
* Remove commented out code
* Fix tests
* Use the clientWidth of the plan if it's available
* Account for the width of labels in the client width
* Remove unnecessary test code
Co-authored-by: charlesh88 <charlesh88@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Time conductor realtime preset/history updates
Co-authored-by: Nikhil <nikhil.k.mandlik@nasa.gov>
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* (WIP) Adds Plan view and visualization of activities on different rows
* Updates to show activities in the right rows
* Improve algorithm to get activityRow for next activity
* When activities have names that are longer than their width, show the name outside the activity rectangle
* Remove Activity component as we don't need it right now
* Use canvas to draw activities instead of svg for performance
* Retain SVG version if needed
* Include text when calculating overlap
* Fix padding, text positioning
* Add colors for activities
* Fixed bug - Rectangle was shrinking as time passed
Draw using SVG
* Adds performance activities
* [WIP] Refactoring code to be more readable
* Fix issues with activity layout
* Adds draft for groups
* Adds x-offset for groups
* Draw a "now" marker for the canvas
* Fix formatting for the timeline
* Adds now line for the timeline
* Add ability to upload a plan json file.
* Add tests for the Plan view
* Fix issue with File Type checking
add resizing for timeline view plans
* Refactor code to be more readable
* Fix tests that are failing on circleCI
* Fix icon for timeline view
* basic brush prototype visible
* require alt pressed for grab handle. display only
* pan and zoom now co-exist
* revert selection to times
* make LocalTimeSystem UTCBased (Earth based)
* add LocalTimeSystem
* make isTimeFixed check reusable
* linting
* zoom axis sets start and end times
* pass isFixed as props so we can watch for change from parent
* disable cursor for local time and enable for fixed time
* linting
* resize brush on window resize
* just use d3-brush instead of entire d3 package
* WIP prototyping conductor history
* set global bounds before emitting change event
* WIP conductor history
* WIP save history to and pull history from local storage
* WIP persistence works
* reset axis height after prototyping
* conductor history functionality complete
* clean up refactoring
* add presets
code cleanup
* axis visual tuning
* remove unused function calls
* change tick to timespan to avoid confusion
* fix bounds to use for timespans on pan axis
* linting
* linting
* more linting
* linting
* change realtime end bound to 30 secondes
* add max duration validation
* Tweaks to Time Conductor History menu
- Enhanced styles for `.c-menu`;
- Added hint messaging and separator;
- Reversed displayed history array so that latest entry is always first;
* refactor to use browser mouse events instead of d3brush
* Styling Time Conductor axis area
- Styles for `is-zooming` state and brush;
- Styles for `is-alt-key-down` for panning;
- Styles for hover modified;
* resolve merge conflicts
* Styling Time Conductor axis and inputs
- Moved panning and zooming styles up into `conductor.scss`;
- Stubbed in :class names in Conductor.vue;
- New theme constants;
* fix merge conflict
* move zoom/pan styling up to conductor
* WIP almost there
* fix zoom
* move altPressed up to parent
* handle no drag on pan
* rename inMode vars for clarity
* Styling for Time Conductor zoom and pan
- Minor fix to hover cursor for alt-pressed panning;
* add configurable bounds limit to time conductor
* add presets and records
* fixes for history
* remove lodash
* add default configurables for examples
* do not install local time system
* cleanup
* fix indentation
remove logging
* remove comments
* section-hint without section-separator styling
* provide reasonable defaults for conductor configuration
* specify input to check validation on
* improve validation
* first check both inputs for valid formats
* clear each valid input on new entry
* tear down listeners
* add user instructions
* allow preset bounds to be declared as callback function
* set this.left on resize
code refactoring
Co-authored-by: charlesh88 <charlesh88@gmail.com>
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* Separate Vue component styles out from SFCs.
* Added 'MCT.prototype.getAssetPath' and using 'openmct.setAssetPath' to get relative path for assets.
* Re-implements `openmct.plugins.Snow()`, and `openmct.plugins.Espresso()` (as well as a new theme `openmct.plugins.Maelstron()`)
* Misc UI 10
- Add .c-input--sm CSS class for VISTA auto-clear input;
* Misc UI 10
- WIP!
- Add new glyohs: suitcase and clear data;
- Change icon-database to icon-suitcase;
- Need to unit test!
* Misc UI 10
- Refinements to shell__head Indicators layout;
- Refinements to collapse-buttons;
- Better color for Snow theme caution;
* Misc UI 10
- Better Open MCT logo for Snow theme;
- Renamed logo-app.svg to logo-openmct.svg;
- Removed unused image files;
* Misc UI 10
- Remove title attr from Angular indicator, interferes with hover
element;
* Misc UI 10
- Fix favicons, updated art;
- Removed favicon.ico;
* Misc UI 10
- Rebuild of Icomoon JSON file, which appeared to have gotten
damaged, probably due to merging;
- Font files updated, added .svg font back to repo;
- Font metrics modified to now use 20% baseline height;
* Misc UI 10
- Fix class in plot for control-bar element;
- Fix CSS in ObjectFrame.vue;
* Misc UI 10
- Rename folder styles-new to styles;
* Misc UI 10
- Remove unused src/fonts folder;
* Misc UI 10
- Symbols font now using baseline of 20%;
* first proto of global clear, working on tables
* global clear works on plots
* styling
* Status bar migration to top of layout, WIP
- Refine and remove legacy styles for Indicators;
- Significant cleanup in Indicator markup;
- Remove unnecessary wrapper component StatusBar.vue;
- Move collapse-button styles to a more general location in _controls
.scss;
- New hasMenu mixin to allow easier application of disclosure control
styling;
* Status bar migration to top of layout, WIP
- Refine styles and markup for Indicators;
- Better separation of styles for clickable and non-clickable
Indicators;
* Status bar migration to top of layout, WIP
- Added tracking style to indicator-template;
- Moved click action to button in label of globalClearIndicator;
- Removed unnecessary markup in Indicators.vue;
- Commented out __head collapse button for now in Layout.vue;
* Status Bar Migration WIP
- Significant progress styling Indicators and their hover bubbles;
- Pull back from clickable Indicators to hover approach;
- Better theme-based constants for Indicator menu-related colors;
* Status Bar Migration WIP
- Significant refactor of label element naming in multiple indicator
markup files;
- Refactor label-related CSS;
- Better class naming: no-collapse > no-minify;
- Refactor example *-launch files to use buttons instead of <a> tags;
- Significant progress on expanding shell head and button styling;
* Status Bar Migration WIP
- Cleanups, sanding on Indicator CSS;
- Added local storage retention for head expanded state;
- Adjust dark theme colors for $colorWarningHi for better legibility;
- Other minor tweaks and fixes;
* Status Bar Migration WIP
- Suppress background in Indicators;
- Restore Snow as default theme;
* add a local clear action, rename plugin
* objectViews extends eventemitter, table view provider provides an onClearData function that is called from ObjectView when clear event is emitted. TODO - support plots
* add support for plots via legacy view provider
* add test for clearDataAction
* remove focus from test file
* install the following plugins by default:
Import Export
Folder View
Tabs View
Flexible Layout
LAD Table
Go To Original Action
* update test to include plugin level tests
* remove focus from unit test
* complete working go to original action, todo (css class for action)
* Fix layout when a menu item does not have an icon
* Removed superfluous keystring conversion
* Optionally provide list of object types to show as views rather than alpha numerics to display layouts
* Only make table view available for objects that have telemetry to show
* Added telemetry filters to the API
* Support multiple inspector views
* Renamed InspectorView.vue to InspectorViews.vue
* first cut of filter inspector plugin
* abstract for better readability
* third times the charm
* working persist checkbox selections
* fix typo
* working persisted filters from inspector
* add prop validations for FitlerValue and FilterObject
* enable filter inspector view for overlay and stacked plots
* remove object from persisted filter when object is removed from composition
* update filterValue to filterField for clarity
* Added filter code to tables
* add filter support to Telemetry Tables
* fix errors when old domainObject does not have configuration property
* working filters on overlay plots
* make requested changes
* Add filters as 'options' object on subscribe
* Significant mods to Filtering
- Styling;
- Added Browse view in Inspector;
- Added .c-checkbox-list class;
- "PLOT SERIES" header changed to "PLOT SERIES OPTIONS" for clarity;
* make filter update pass updated filters to telemetry adapter
* Tolerate undefined configuration
* Conditionally destroy filters listener
* use @change event instead of @blur'
* Build config changes necessary to work with VISTA
* Fixes to TelemetryTableRow to address bug in VISTA
* Fixed sass-fast-loader version to avoid https://github.com/yibn2008/fast-sass-loader/issues/47
* Reverted default theme
* Set time system / bounds immediately based on conductor configuration
* Hide date picker if not UTC based time system. Improve Conductor configuration error messages.
* 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
* 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
* 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
* 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
* 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