* clock, timeConductor and appActions fixes
* Ensure realtime uses upstream context when available
Eliminate ambiguity when looking for time conductor locator
* Fix log plot e2e tests
* Fix displayLayout e2e tests
* Specify global time conductor to fix issues with duplicate selectors with independent time contexts
* a11y: ARIA for conductor and independent time conductor
* a11y: fix label collisions, specify 'Menu' in label
* Add watch mode
* fix(e2e): update appActions and tests to use a11y locators for ITC
* Don't remove the itc popup from the DOM. Just show/hide it once it's added the first time.
* test(e2e): disable one imagery test due to known bug
* Add fixme to tagging tests, issue described in 6822
* Fix locator for time conductor popups
* Improve how time bounds are set in independent time conductor.
Fix tests for flexible layout and timestrip
* Fix some tests for itc for display layouts
* Fix Inspector tabs remounting on change
* fix autoscale test and snapshot
* Fix telemetry table test
* Fix timestrip test
* e2e: move test info annotations to within test
* 6826: Fixes padStart error due to using it on a number rather than a string
* fix(e2e): update snapshots
* fix(e2e): fix restricted notebook locator
* fix(restrictedNotebook): fix issue causing sections not to update on lock
* fix(restrictedNotebook): fix issue causing snapshots to not be able to be deleted from a locked page
- Using `this.$delete(arr, index)` does not update the `length` property on the underlying target object, so it can lead to bizarre issues where your array is of length 4 but it has 3 objects in it.
* fix: replace all instances of `$delete` with `Array.splice()` or `delete`
* fix(e2e): fix grand search test
* fix(#3117): can remove item from displayLayout via tree context menu while viewing another item
* fix: remove typo
* Wait for background image to load
* fix(#6832): timelist events can tick down
* fix: ensure that menuitems have the raw objects so emits work
* fix: assign new arrays instead of editing state in-place
* refactor(timelist): use `getClock()` instead of `clock()`
* Revert "refactor(timelist): use `getClock()` instead of `clock()`"
This reverts commit d888553112.
* refactor(timelist): use new timeAPI
* Stop ticking when the independent time context is disabled (#6833)
* Turn off the clock ticket for independent time conductor when it is disabled
* Fix linting issues
---------
Co-authored-by: Khalid Adil <khalidadil29@gmail.com>
* test: update couchdb notebook test
* fix: codeQL warnings
* fix(tree-item): infinite spinner issue
- Using `indexOf()` with an object was failing due to some items in the tree being Proxy-wrapped and others not. So instead, use `findIndex()` with a predicate that compares the navigationPaths of both objects
* [Timer] Remove "refresh" call, it is not needed (#6841)
* removing an unneccessary refresh that waas causing many get requests
* lets just pretend this never happened
* fix(mct-tree): maintain reactivity of all tree items
* Hide change role button in the indicator in cases where there is only… (#6840)
Hide change role button in the indicator in cases where there is only a single role available for the current user
---------
Co-authored-by: Shefali <simplyrender@gmail.com>
Co-authored-by: Khalid Adil <khalidadil29@gmail.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: David Tsay <david.e.tsay@nasa.gov>
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
* Replacing all instances of the new Vue() component creation pattern
* In Vue 3, components cannot be created on the fly and mounted off-DOM. The suggested fix from Vue is to use createApp, but in the context of Open MCT this means dozens of Vue apps being created and destroyed at any given moment. Instead, we have used a community hack for creating individual components.
* beforeDestroy() -> beforeUnmount()
* destroyed() -> unmounted()
* The addition of deep: true option on Array listeners is now required to detect Array changes
* Open MCT is now mounted on a child div instead of directly on document.body
---------
Co-authored-by: Scott Bell <scott@traclabs.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* Use composition API in RemoveAction
* refactor: ScatterPlotView to use composition API
* fix: initialize transaction to null and reset
* fix: remove seriesKey and correct found condition
* refactor: Gauge to use composition API
* refactor: DisplayLayout to use composition API
* test: RemoveAction starts and ends transactions
* test: add ScatterPlot add/remove telemetry test
* test: fix e2e test and add annotation
* test: remove unnecessary awaits
* test: make some displayLayout tests stable
* test{displayLayout}: navigate to objects via url
* test(gauge): add test for add/remove telemetry
* fix(#3117): init layoutItems within transaction
* refactor: add clearSelection() method
* test: remove unstable tag
* fix(#3117): init frames and use transactions
- fixes#3117 for flexible layouts by syncing frames and composition
- also uses transactions now to avoid race condition
* test(flexibleLayout): removing items via context menu
- add test for removing items via context menu while focusing the layout
- add test for removing items via context menu while not focusing the layout
* fix(e2e): use pluginFixtures
* refactor(e2e): improve selectors
* refactor: use async/await for saving transactions
* docs(e2e): fix comments
* test: use soft expects
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
* Closes#5640
- Layout frame edit handle visually tweaked, no longer resizes frame contents on hover when editing.
- Gauge now centers in its container instead of left flush.
- Added large bg-icon for aggregate telemetry.
- Removed 'no class' single wrapper div in mct-tree.vue.
- Refinements to appearance of locator in save/edit overlay dialog.
- Better styling for search in progress and 'no results' messaging.
- Revised art and glyph for `icon-tabular-scrolling`.
- Change TelemetryTableType to use icon-tabular-scrolling icon and bg-icon.
- Fix bad/erroneous descriptions for Telemetry Table, LAD Table and LAD Table Set.
- Fix descriptions for multiple view types.
- Removed unused .bg-icon class.
- Fixed bad value check that was causing panes not to collapse when dragged
(by design) to a very narrow width.
- Visual style for grippy adjusted for better clarity on some monitors.
- Normalize size of alphanumeric's labels and values in Display Layouts.
- Fix margin strategy for object label in main view.
- Fixed Locator to dynamically size itself to use available vertical space.
- Added new `l-overlay-dialog` size parameter.
- Better approach to overlay sizing to make Properties dialogs larger vertically
and fullscreen overlays more apparent to the user.
- Normalized approach to numeric inputs to fix cross-browser
inconsistency with input spinners.
- Fixed layout problem in `Datetime.vue` component due to
numeric input spinners changes.
- Added object types for Display Layout drawing objects.
- Code modded in `ObjectName.vue` to grab layout object cssClass from
layoutItem.type.
- Big thanks to @jvigliotta for the assist with this!
- update snapshots
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Update version
* [Flexible Layout] Fix draggable status for layout items while in browse mode (#5750)
* Modify flexible layout pages to make them not draggable in browse mode and add e2e test
* Don't destroy mutable if the domain object is not ready yet (#5695)
* Check if the domain object is set (mounted is done) before trying to destroy the mutable
* Use optional chaining. Add mutable promise check to prevent memory leaks
* Request priority (#5737)
* Set priority of couch requests to high
* Set priority of image requests to low
* Add e2e test for low-priority images
* Timelist views support fixed time - 5629 (#5726)
* Initialize full view for fixed time
* Clean up
* Add back in ticker after merge
* Check for undefined clock instead of timestamp
* Cleanup
* Initialize full view for fixed time
* Clean up
* Add back in ticker after merge
* Check for undefined clock instead of timestamp
* Cleanup
* Update timestamp method and remove from beforeDestroy
* Shorten ternary to optional chaining
* Cleanup unused var
* Moved duplicated logic to method
* Reorder methods
* Update Timelist.vue
Set timestamp to clock start when in fixed time
* Added blank line
* Lint fix
* Update pluginSpec.js
* Invoke currentValue method properly
Co-authored-by: Khalid Adil <khalidadil29@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Michael Rogers <contact@mhrogers.com>
* Adds stacked plot inspector view provider for non subObjects
* Initialize config for telemetry objects that cannot be persisted with the config in the stacked plot
Use events to save telemetry object config changes to the stacked plot
Remove changes that weren't relevant anymore
* Ensure the telemetry objects that cannot be persisted are initialized correctly
* Fixes for selection indication in Stacked Plots
- Better theme constant colors.
- Fixed broken selectors.
- Changes also improve selection editing UI for Display and Flex Layouts.
* Ensure unique colors for stacked plot if they are auto assigned
* Fix bug hiding legend when viewing plots nested within a stacked plot
* Move stacked plots tests to it's own pluginSpec to simplify tests
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Rukmini Bose <rukmini.bose15@gmail.com>
* add some types to XAxisModel
* Add UI to toggle log mode.
* handle autoscale toggle for logMode
* add log plot tests
* test log ticks work after refresh
* add an initial manually-created visual snapshot test of log plot chart
* update plot unit tests for log mode
* remove scale variable for now
* make v-for keys unique per template to avoid a small performance hazard of v-for markup in the same subtree of a template having clashing keys (Vue quirk)
Co-authored-by: unlikelyzero <jchill2@gmail.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
* Correctly use creatable attribute and persistability when working with domainObjects (#4898) (#4936)
* making move action location check persistability
* adding persistence check instead of creatability for styles
* added check for link action to make sure parent is persistable
* debug
* adding parent to link action and move action form location controls so they can be used in the form
* adding parent persistability check for duplicate
* updating multilple actions appliesTo methods to check for persistability
* updated the tree to not require an initial selection if being used in a form
* remove noneditable folder plugin
* added persistence check for the parent, in the create wizard
* minor name change
* removing noneditabl folder from default plugins as well
* checking the correct parent for persistability in create wizard
* importing file-saver correctly
* updated tests for import as json
* changes addressing PR review: using consts, removing comments, removing unneccessary code
Co-authored-by: Scott Bell <scott@traclabs.com>
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: Scott Bell <scott@traclabs.com>
* Fix display layout items getting cut off on the bottom (like plots) (#4903)
* Fix display layout items getting cut off on the bottom (like plots)
Also fix Vue warnings
* Add partial e2e test for this bug fix. WIP.
* Address review comments
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* Link action fix (#4945)
* handling edge case for linking a root item
* added location to viper plans (couch search folder) set to ROOT, added a check to remove action for alias (so you can remove linked nonpersistable items)
* added check for no parent in remove action (which means it is a root item)
* updating test
* Update time conductor inputs realtime (#4877)
* Update time conductor inputs realtime
* Update moveObjects.e2e.spec.js
* Update importAsJson.e2e.spec.js
* Update default.spec.js
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: Scott Bell <scott@traclabs.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* Update version number (#4759)
* update copyright (#4775)
* Observe changes to sub-objects in flexible layouts. (#4780)
* Get child of flex layout as mutable if possible
* Fix bug when no default notebook defined
* Follow domain object changes for Independent time conductor (#4783)
* Track if domain object changes when independent time conductor is in use.
* fix typo when using fallback template (#4784)
Co-authored-by: Scott Bell <scott@traclabs.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* 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
* fix flexible-layout bug
* abstract element item from elements pool
* improve dragging of elements pool
* better dragover handling in elements pool
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.com>
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
* fix delete and composition load
* remove unused remove action
* remove star listener and use computed property
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.com>
* no-implicit-coercion and no-unneeded-ternary
* End every line with a semicolon
* Spacing and formatting
* Enabled semi-spacing
* Applies npm run lint:fix to code after master merge
* Fix merge issues
* Switched operator-linebreak to 'before'
Co-authored-by: Joshi <simplyrender@gmail.com>
* working lock and unlock
* prevent flexible layout drop hints from showing
* fix lint issue
* wip
* disable mousedown when not editing in DisplayLayout
* continued wip
* Cherrypick new glyphs from add-new-glyphs-062320
* More new glyphs, updated art
- New glyphs: icon-unlocked and icon-target;
- Updated art for icon-lock glyph;
* Edit toggle refinements WIP
- Markup, CSS in BrowseBar.vue;
* More new glyphs, updated art
- New glyphs: icon-unlocked and icon-target;
- Updated art for icon-lock glyph;
* Edit toggle refinements
- Replaced toggle switch with button;
* prevent styling changes when locked
* fix lint issues
* fix tests
* make reviewer suggested changes
Co-authored-by: charlesh88 <charlesh88@gmail.com>
* 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()`)
* Modify Selection API to support multi-select via shift click.
* Add support for shift + click to add and remove the selection.
* Display message in Location and Properties for multi-select.
* Define applicableSelectedItems for toolbar items. Move toolbar control definitions to functions.
* Hide positioning inputs if multi-select. Show a 'non-specific' icon when a discrete setting can't be shown in a mixed setting."
* Add toolbar controls in groups per layout item type. Add nonSpecific property to toolbar items to be used by toolbar controls to show non-specific icon.
* Modify toolbar button to react to nonSpecific flag. Get form value by checking value of applicable selected items.
* Support deleting multiple selected objects.
* Do not disable controls when selected items have mixed setting.
* Revert default color to original value.
* Changes to snap-to-grid
* Remove timeout for updating toolbar after mutation. Do not copy toolbar item when iterating the structure.
* Implement move to top and move to bottom for multi-select
* Implement move up and move down for multi-select.
* Markup and CSS changes for mixed settings in toolbar
- Toggle, color-picker buttons;
- TODO: check other themes and sync;
* Mixed settings styling complete
- Refined and synced theme constants;
- Styling for all toolbar components;
- Text size menu handling;
- Inspector messaging;
* Fix selection path
* Mixed settings styling refinements
- Normalized button styling for mixed style context;
- Better theme constant naming;
- Refined swatch styling, better theme constants;
* First cut at getting the bounding rectangle working for multi-select.
* Set pointer-events to none on c-edit-frame to prevent marquee reacting to click events.
* Delete capturing before calling select.
* Remove EditMarquee from ITEM_TYPE_VIEW_MAP
* Pass selected layout items as a prop to edit marquee instead of selection so that x, y, w, h are updated.
* Multi-select c-frame-edit visual fixes
- WIP
* Add complexContent class for a single selected item whose type is subobject-view.
* Move 'c-frame-edit-move' div to layout frame.
* Saving work - multi-move WIP
* Fixes issue with selection happening at end of drag
* Styles fixed for new markup organization
- Marquee, frame styles;
- $editMarqueeBorder style added to theme constants;
* Significant functionality for .c-frame-edit__move element
- Added .is-multi-selected class to .l-layout when > 1 items selected;
- __move element now handles multi-select and complex content (CC)
objects:
-- 0 to 1 items selected, displays as hover bar with grippy on all CC
objects,
-- > 1 items selected, __move covers all of the frame of all selected CC
items and doesn't allow sub-object selection, and only displays as hover
bar on non-selected CC objects;
- Added better styling for selected objects while editing;
- Code cleanup and consolidation;
- Left translucent green style applied to __move element to temporarily
aid development;
- TODO: fix line drawing object;
* - Fix an issue where shift click did not remove the selected item from the selection after move.
- Modify telemetry and subobject views to emit move and endMove events.
- Clone selectedLayoutItems to get initial positions instead of selection so subsequent moves start from the current position.
* Fix cursor for __move, code comment refinements
* Code cleanup, line view markup changes
- line view markup brought into line with structure in LayoutFrame.vue;
* Implement multi-resize
* Simplify edit marquee code. Revert image and text views' default position to the original values.
* Fix resize for single selection when snap to grid is disabled
* Hide edit marquee if single line is selected, and show c-frame-edit in line-view instead.
* Fix for LineView handles
* Remove snap to grid toggle button and modify the migration script to convert elements with pixel coordinates to grid.
* Fix resizing single line
* Calculate width and height differently for line to position marquee correctly.
* Fix moving single selected line
* Calculate the height and width for line before comparing them with max height and width to correct the marquee position.
* Change the logic for showing frame edit for lines to check for item id.
* Allow multi-move with line in the mix.
* Implement multi-resize when grabbing SW corner.
* Removed temp green tint from __move element
* Fix object undefined error.
* Implement multi-resize for all items except line (take 2).
* Misc UI 7
- CSS selectors to properly display edit marquee, don't show in browse
mode;
* Fix multi-resize for lines.
Make sure line's height and width is minimum 1.
* Disable inspector views when multiple objects are selected.
* Restored layout grid display on sub-layout selection
* Clean up code
* Fixes
- Edit marquee display fixes;
* More code clean up
* SIGNIFICANT fixes and rewriting in LayoutFrame.vue
- Styles for .c-frame-edit__move element for selection and hovering;
- local controls;
- view large button;
- Theme constants updated;
* Get selected item's index from layoutItems.
* Address review feedback.
* Merge topic-core-refactor
* Reset keyString to empty string after setting original path when domainObject is undefined.
Add proper check for selection.
* add a function to change selection of deleted item in remove action, and update flexlayouts
* resize when item is deleted
* fix for resize handles not showing after object is dropped
* fix isAlias logic for folder views
* remove uneccesary console log
* move selection logic to flexible layouts
* only update inspector views if selection has changed to a new context
* force a digest in the plot options controller once the series are added
* conditionally show snapshot button only if notebook is installed
* Misc UI 7
- Better approach to hide/show in Tabs view;
* Misc UI 7
- Fix Chrome 73 bug for Folders in Tabs and Flex Layouts views;
* Misc UI 7
- Fixed look of text inputs in Snow;
- Added description for Tabs View;
* Misc UI 7
- Resizeable table column headers now clip properly;
- Cleaned up and consolidated related CSS;
* Misc UI 7
- Remove undesired top margin in Flex Layouts;
- Fix Chrome 73 overflow bug in ObjectFrame;
* Misc UI 7
- Remove undesired top margin in Flex Layouts;
- Fix Chrome 73 overflow bug in ObjectFrame;
- Enhanced View Large button so now displays in objects with
frames hidden;
- Changed behavior for frame move bar such that it only displays for
selected items;
- Fixed bug where telem table columns can't be resized in new tables;
- Added overflow handling to telem table column headers;
* Misc UI 7
- Remove undesired top margin in Flex Layouts;
- Fix Chrome 73 overflow bug in ObjectFrame;
- Enhanced View Large button so now displays in objects with
frames hidden, and is only shown for objects that get
.has-complex-content applied;
- Changed behavior for frame move bar such that it only displays for
selected items;
- Fixed bug where telem table columns can't be resized in new tables;
- Added overflow handling to telem table column headers;
- Fix for clipped color palette in Summary Widgets, and better flex
layout in sizing in edit interface;
- Added timer and hyperlink to SIMPLE_CONTENT_TYPES list;
* Misc UI 7
- Accessibility: add name of object as title attribute to Layout frames;
- Moved c-frame base styling into c-so-view;
* remove title from layoutFrame
* prevent default on dragover in dropHint, to allow drop event to fire
* add notebook snapshot to preview
* fix for preview image overlay
* pin fast-sass-loader version to 1.4.6
* fix saveAs in plot image export
* fix elements search in inspector
* fix current Search error
* fix anonymous render error in layout
* navigate and edit on create
* remove domainObjects from composition when deleting frames and containers, and also fix a bug whereby a user can add domainObject via drag and drop(composition) but because of the lack of containers, it will not be added to the flexible layout
* fix index undefined error when reordering containers
* throw an error when user cancels instead of returning false
* fixes for toolbar not updating on selection change
* fix errors when objects without context are returned by the search aggregator
* prompt user before cancelling edit
* check transactions before prompting user
* add save and continue editing option to save menu
* prompt user if in edit mode and is navigating away
* Get selection context from object view for constructing the context in subobject view.
* Implement getSelectionContext for flexible layout provider and remove code that makes flexible layout self selectable.
* Get selection context from object frame when constructing context for frames.
* Disable Add button when selected parent is a flexible layout
* Make 'Add' button working for selected display layouts in a flexible layout.
* fix expand error and fix flexible layout toggle container issue
* Check for parent object before getting composition.
* Open in new tab
* Fix splitter resizing error, and css background issue
* Prevent new line on enter key press when editing name in object browse bar. Update domainObject name on enter key press in Object Browse Bar
* Flexible layout should react to composition remove, and fix delete container
* Render a drag ghost when dragging frame items in flexible layout
* Use composition.on add to add new frames
* Styling for selects
- New cleaner styling approach;
- New cSelect and appearanceNone mixins;
- Converted selects in Notebook, plot-options-edit;
* List View fixes
- Ellipsizing now works;
- Better icon and text alignment;
* Remove updateDrilledIn function and calls
* Telemetry Table editing styles
- Headers now have hover effects;
* Change 'toggle'-style toolbar buttons to reflect current state, rather
than what will be the setting once clicked
- When frame is hidden, button displays the frame-hidden icon, and
tooltip says 'Frame hidden';
* Enable all sub-object views in Display Layout to use numeric inputs for
x, y, width and height
* Toolbar sanding and polishing
- Button order tweaked to place stack order near X, Y, etc. inputs;
- Improved spacing between items themselves and separators;
* Fix indentation
* Fix indentation part deux
* Drag-drop edit mode from capture handler. Drag-drop composition from bubble handler. Check composability on drag start
* Show drop hints without being in edit mode.
* Don't serialize objects twice on drag