* MCT-3528: Add Condition Manager changes
its been smoke tested
* Fix bounds getter and amend unit test
* Change fdescribe back to describe
* [Object API] add object provider search (#3610)
* add search method to object api
* use object api search
* do not index objects that have a provided search capability
* provide indexed search for objects without a search provider
* Upgrades to eslint-plugin-vue 7.5.0 (#3685)
* Preparing for sprint 1.6.2 (#3663)
* [NonEditable Folder Plugin] Default Install, Browse Bar Update, StyleGuide Use (#3676)
* default noneditable folder plugin, change styleguide folders to uneditable folder types, browse bar object name no longer input box if not createable
* moved plugin to mct.js instead of index.html
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* Fixes [Flexible Layout] bug with composition (#3680)
* 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>
* Notebook saved link (#2998)
* https://github.com/nasa/openmct/issues/2859
* create and store link to default notebook in storage and pass it to notification.
* [Notebook] Add link to notebook inside 'Saved to Notebook' notification #2860
* Added custom autoDismissTimeout for into notifications.
* Backwards compatibility fix for old notebook model without link in metadata.
* lint fixes
* added JS Doc description for API changes + changed property names to appropriate function.
* fixed bug due to merging.
* fixed url update loop
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.com>
Co-authored-by: Nikhil <nikhil.k.mandlik@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* add search method to object api
* use object api search
* do not index objects that have a provided search capability
* provide indexed search for objects without a search provider
* passing click and context click on tree item down to object label, making the whole tree item interactive
* removed unnecessary code
* WIP: removing propagation prop from view control and just stopping all propagation
* capturing click on tree item and then calling the click handler on objectLabel, this prevents multiple events and handles all clicks in the tree-item
* removing unnecessary ref
* ignoring clicks for view control so it can handle them itself
* made view control class a constant
* replaced class-based checks with ref-based checks
* removing old leftover code
* Don't apply styles on destroy as destroy should not have any side effects
* Don't show undefined if trigger for condition is not available yet
* Force recalculation of condition result if telemetry is removed
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* Fairly extensive refactoring to fix layout in Safari for VERVE #266
- VERY WIP at this time!
- Many instances of `height: 100%` converted or amended to include
`flex: 1 1 auto`;
- Some high-use containers like `c-so-view__object-view` converted to use
flex layout;
- Views fixed generally for sub-object view, and specifically for
Conditionals, Folder grid view and Imagery;
- Imagery background image holder converted to use absolute positioning;
- TODO: Notebook has a problem where the side nav pane isn't overlaying
in Safari - it's a JS thing, c-drawer--push isn't be replaced with
c-drawer--overlays as it should;
* CSS and markup refactoring to support addition of 'suspect' telemetry
- Remove commented code;
* working proto for font size
* wip
* Font styling
- Base classes for font-size and font;
- WIP!
* working data attribute for fontsize
* Font styling
- Add `js-style-receiver` to markup, refine style targeting JS for
better application of styles;
- Refinements to font and size CSS;
- WIP!
* Font styling
- Redo CSS to use `data-*` attributes;
- New `u-style-receiver` class for use as font-size and font-family CSS
selector target;
- New `js-style-receiver` class for use as JS target by ObjectView.vue;
- New classes added to markup in all Open MCT views;
- Changed font-size values from 'is-font-size--*' to just the number;
- Some refinement to individual views to account for font-sizing
capability;
- Removed automatic font-size 13px being set by SubobjectView.vue;
- WIP!
* working mixed styles
* Font styling
- Added `u-style-receiver` to TelemetryView.vue;
- Added `icon-font-size` to Font Size dropdown button;
- TODO: better font-size icon;
* working font-family
* Font styling
- Art for `icon-font-size` glyph updated;
- Redefined glyph usage in some Layout toolbar buttons;
- Updated font-size and font dropdown menus options text;
* Font styling
- Refined font-size and font dropdown values;
- Fixed toolbar-select-menu.vue to remove 'px' from non-specific option
return;
* dont allow font styling on layouts that contain other layouts
* fix lint warning
* add sizing row
* fix bug with column width sizing
* fix bug with header style
* add saved styles inspector view
* WIP
* add vue component for selector
* WIP styles manager to communicate between vue components
* WIP saving and persisting styles
* no duplicate styles prevention
* fix props syntax
* WIP can apply conditional styles
* static styles do not work yet
* display border color in saved styles swatch
* allow deleting styles except default style
* WIP apply static style works but also to layout...
* prevent additional StylesView from being created
* delete style message
* change save order
* move applystyle to selector component
* rename for consistency
* naming refactor
* add style description
* update style properties only if they exist and do not erase properties
* refactor singleton usage
refactor save method
* show save and delete only on hover
* do not show delete icon if not in edit mode
* normalize styles before saving
prevent apply style if conditional and static styles are simultaneously selected
* remove default style
tweak selector display
* allow conditional and static styles to have saved style applied
limit saved styles to 20
* refactor styles manager
remove openmct dependency
use provide/inject
* resolve merge conflicts
* lint fix
* reorganize styles
* add font style editor to styles view
* save and display border correctly in saved styles view
* WIP add font styling controls to inspector styles view
* add font constants
* WIP refactor to provide reactive props
fix locked for edit
* WIP display consolidated font styles for selection in editor
* WIP font styles saved to layout
* WIP persisting font styles from inspector works
* fix styleable check
* move logic up to stylesview because save is two part
* apply font style to thumb
* there can be only one
* show font style for native views
* linting fix
* push stylesManager work to StylesView
* move method to computed
* move constant definition outside of function call
* Styling for saved styles functionality WIP
- Simplified and removed unnecessary markup;
- Standardized style applied to saved style element and toolbar control;
- Removed saved style expand arrow and description, replaced with item
title / tooltip approach;
- Standardized width of `c-style-thumb` element;
- Moved font size and style controls to the designed location;
* Styling for saved styles functionality WIP
- Layout and CSS normalization between style editor control and saved
style preview element;
- Control alignment refined;
- Moved font size and style controls to the designed location;
* Styling for saved styles functionality WIP
- Update font size icon art to normalize size;
- Sanding, tweaking, alignin and layout in style controls area of
Inspector;
* Styling for saved styles functionality WIP
- Hide the font size and style menu buttons unless the user is editing;
* remove font controls from toolbar
* turn styles tab into multipane element
* lint fix
* no font style should not be viewed as non-specific
* delete saved style by index not style
* cleanup
* view and inspector view updates on initial font change
* revert computed back to method
* set initial height
* fix test after removing 2 buttons from toolbar
* fix hidden lint error
* fix lint
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
Co-authored-by: charlesh88 <charlesh88@gmail.com>
* styles for Subobjects that can't be persisted should be saved on the container/layout
* Add tests for suboject styles that should be saved on the display layout
* Stop evaluation of conditions when one evaluates to true
* Fix broken test
* Fixes broken tests
* Addresses review comments - Rename getResult to updateResult
* Rename condition getResult to updateResult
* Renames condition getResult to updateResult
* upgrade to ESLintv7, added overrides for rules violated
* removed overrides for spec files
* fixed no-prototype-builtins issues
* added rules for default-case-last, default-param-last, grouped-accessor-pairs, no-constructor-return, and added override for one violation
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
* Updated library versions
* Use Karma alternative spec loading
* Fixed memory leak in URLTimeSettingsSynchronizer
* Introduce mock DataTransfer object to fix issue with firefox headless
* make resetApplicationState return a promise
* Remove BeforeAll
* Do not throw an error if root returns no children
* Adding missing parameters to ES tests
* Fixed TransactionService bug
* bump test coverage up to 64%
* Display layout plugin test coverage to 20% or more
Resolves#3157
* Changes address original issue? Yes
* Unit tests included and/or updated with changes? Yes
* Command line build passes? Yes
* Changes have been smoke-tested? Yes
* Testing instructions included? Yes
* Add disable-dev-shm-usage flag to ChromeHeadless launcher config in karma
* Adding disable dev shm usage flag to chromeheadless launcher and setting log level to debug
* Adding np activity timeout to 60000
* Adding no-sandbox flag for headless chrome
* Run tests without headless chrome to see if that fixes the fonts issue
* Fix typo
* Trying chrome headless with increased memory
* Reset karma.conf back to master
* Trying karma chrome launcher 3.1.0
* Revert to master code for package.json and karma.conf.js
* Trying node 12 browsers
* Revert back to node:13 browsers
* Revert to 10.2.1-browsers circle ci node browsers variant image for docker
* Rebuild node-sass for node 10.x
* Upgrading to 13.14.0 node
* Remove node options
* Don't restore cache before npm install
* Comment out tests with setTimeout
* Trying node 8-browsers
* Try firefox headless
* Firefox version typo
* Revert focused tests
* Exclude setTimeout tests
* Increase browser connectivity timeout
* Trying large timeout with Chromeheadless
* Going back to Firefox and setting browser timeout to 1.5 mins
* Fixes linting issues
* Fix broken tests and add some null checks in the code
* Change double quotes to single quotes
* 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>
* Added new test to telemetry tables to check that telemetry data is correctly rendered in rows
* Added test tools for mocking builtins
* Changed order that promises are resolved to address race condition
* Remove duplicate installation of UTC Time System
* Added additional test telemetry
* Start Open MCT headless
* Added headless mode start option. Fixes#3064
* Added new non-angular URL handler
* Removed legacy Angular TimeSettingsURLHandler
* Added function to testTools to reset application state
* Use resetApplicationState function from telemetry table spec
* Added new TimeSettingsURLHandler to plugins
* Added missing semicolons
* #2826 Refactored code into separate class
* Handling of hash-relative URLs
* Refactoring URL sync code
* Refactored to external class
* Moved utils to new 'utils' directory. Refactored location util functions from class to exported functions
* Added test specs for openmctLocation
* Added new function to destroy instances of Open MCT between test runs
* Ensure test specs are cleaning up after themselves
* Added test spec for new URLTimeSettingsSynchronizer
* Removed use of shell script as it doesn't work in windows
* Pushed test coverage to 100%
* Added missing copyright statement
* Removed debugging output
* Fixed linting error
* Upgrade node version
* Clear cache
* Re-enabled tests
Co-authored-by: Melanie Lean <melanielean@Melanies-MacBook-Pro.local>
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
Conditional Styles for multiple items #3076
* Preview condition styles on selecting that condition or one of it's styles
Do not evaluate conditional styles in edit mode
* Conditions styling tweaked
- Condition match `is-current` styling for browse and edit modes;
- Disallowed pointer events on Conditions to prevent selection in
Inspector when not editing;
* Highlight current condition in conditionSet view
* Addresses review comments.
* Condition matching highlighting tweaked
- Enable match highlighting during Editing;
- Tweaks to `is-current` styling;
* Don't reset the callback on destroy
* Combine multiple and single selection styling of objects
* Fix issue with applying styles in edit mode
* Fix item styles bug
* Remove comment
* Adds back visibility toggle
* Set isEditing on initialization.
* Addresses review comments - removes use of lodash.
Co-authored-by: charlesh88 <charlesh88@gmail.com>
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* Upgrades lodash
* Replaces some usage of lodash with native functions.
* Adds linting to catch cases where native functions could be used instead of lodash functions
* Renamed testTools to testUtils
Co-authored-by: Joshi <simplyrender@gmail.com>
Co-authored-by: David Tsay <david.e.tsay@nasa.gov>
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Resolves issue #30307
Don't compute the result of a condition if telemetry datum is not being used by that condition
* Adds tests for condition results
* Preview condition styles on selecting that condition or one of it's styles
* Do not evaluate conditional styles in edit mode
Co-authored-by: charlesh88 <charlesh88@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* change single output to state and value
* do not send telemetryObjects to telemetry api request cal
* normalize data on requests
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* use correct id for telemetry requests
* request and subscription data cache should be mutually exclusive
use latest timestamp for any/all requests
* do not add prop to datum
remove unnecessary if check
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* Ensures that results for a specific datapoint are evaluated atomically.
* Removes timestamp based evalutation from conditionManager
* Remove unused code
* remove generating timestamp for telemetry data
* get results directly instead of using events
* remove unused listeners, events, and helpers
* linting
* remove commented code
* telemetry criterion stores its own result
* refactor all/any telemetry criterion to use new evaluator
* tie in requests and eliminate unused code
* use current timesystem to compare latest
* scope function names
* AllTelemetryCriterion extends TelemetryCriterion
* fix telemetrycriterion and unit testing
* fix unit tests
* check if telemetry is used at condition manager level
* move check to condition manager
* remove whitespace
Co-authored-by: Joshi <simplyrender@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Ensures that results for a specific datapoint are evaluated atomically.
* Remove generating timestamp for telemetry data
* Get results directly instead of using events
* Refactor all/any telemetry criterion to use new evaluator
* Use current timesystem to compare latest
* AllTelemetryCriterion extends TelemetryCriterion
Co-authored-by: David Tsay <david.e.tsay@nasa.gov>
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Show non specific styles when updating multiple item styles
* Save sub object styles to it's domain object
* Layout UI tweak
* Fixes flexible layout bug.
* Fixes font size bug in telemetry view
* Fixes issues with newly places TVOs including transparent properties.
* Fixes#2908
* Say NO to 'transparent' === '__no_value'
- Fixes#2895;
* Ensure styles are correctly applied to domain objects and drawing objects when selected individually
* Ensure none treatment is correctly applied to objects when multple selecting
* Fix intial box border
* Tweaks to c-text-view layout
- Vertically center text;
- Normalize padding;
- Overflow: hidden;
* Tweaks to Clock and Timer layout
- Fixes#2893;
- Vertically center text;
- Normalize padding;
- Overflow: hidden;
- `position: absolute` when in Layout;
Co-authored-by: charlesh88 <charlesh88@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* wip: changing to condition as drag target
* wip
* wip
* wip
* fixed dragging issues
* fixed dragging classes and added temp border on condition with dragging class
* Conditionals sanding and shimming
- CSS and `all-dragging`;
* wip
* fixed drag end issue and changed dragging class to go on parent condition h
* drag with counter
* wip
* wip
* wip
* return to logic in ConditionCollection.vue
* wip
* completed js part with highlighted c-condition-h on dragover
* restored grippy as draggable elem, improved isValidTarget
* fixed drag text bug
* added moveIndex prop in Condition.vue
* Conditionals drag reorder styling
- Moved `.is-drag-target` class up to conditions-h element;
- Renamed `.all-dragging` to `is-active-dragging`;
- Styling for `__drop-target` elements;
* fixed incorrect default for moveIndex in condition collection, unnecessary reset in condition
* fixed downward move reorder
* removed prevent from dragenter and drag leave, changed @blur to @change for name and output fields
* removed console log
* Repair merge-damaged conditionals.scss
- Manual merge from latest master;
* Test data layout tweaked
- Prevent c-cs__test-data__controls from collapsing;
Co-authored-by: Joel McKinnon <joel.g.mckinnon@nasa.gov>
Co-authored-by: Joel McKinnon <JoelMcKinnon@users.noreply.github.com>
* wip: changing to condition as drag target
* wip
* wip
* wip
* fixed dragging issues
* fixed dragging classes and added temp border on condition with dragging class
* Conditionals sanding and shimming
- CSS and `all-dragging`;
* wip
* fixed drag end issue and changed dragging class to go on parent condition h
* drag with counter
* wip
* wip
* wip
* return to logic in ConditionCollection.vue
* wip
* completed js part with highlighted c-condition-h on dragover
* restored grippy as draggable elem, improved isValidTarget
* fixed drag text bug
* added moveIndex prop in Condition.vue
* Conditionals drag reorder styling
- Moved `.is-drag-target` class up to conditions-h element;
- Renamed `.all-dragging` to `is-active-dragging`;
- Styling for `__drop-target` elements;
* fixed incorrect default for moveIndex in condition collection, unnecessary reset in condition
* fixed downward move reorder
* removed prevent from dragenter and drag leave, changed @blur to @change for name and output fields
* removed console log
Co-authored-by: charlesh88 <charlesh88@gmail.com>