* WIP add instanbul code coverage to vue files
* move webpack coverage config to a separate file for test:coverage, pin dependencies, remove istanbul-instrumenter-loader
* dont include node_modules in babel config, it breaks istanbul for some reason
* ignore spec files from coverage
* document coverage files, remove unused karma config
* use test instead of test:coverage in config.yml, disable code and link to issue to enable coverage in Vue <template>s
* Remove legacy codebase
* Remove legacy docs
* Fixed memory leak in timer spec
* Remove Angular dependency
* Removed adapter layer
* Removed legacy support plugin from main Open MCT repo
* Restored TelemetryAPI.js which had been inexplicably deleted?
* Fix linting error
* Drop line coverage threshold due to removed code
* Added a section on Open MCT 2.0.0 to the readme
* 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
Re-implements the in-memory search index sans Angular
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: John Hill <jchill2.spam@gmail.com>
* Form refactor (#3816)
* New form API and associated form controls
* Actions updated to use new form API.
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: charlesh88 <charles.f.hacskaylo@nasa.gov>
* Reimplementation of import export json (#4171)
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: charlesh88 <charles.f.hacskaylo@nasa.gov>
Co-authored-by: Henry Hsu <hhsu0219@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* removed DEPRECATION warnings
* test fixes
* added spec reporter to debug failing tests and fixed couple specs
* disabled failFast to see all failing tests
* disabled fail test and change timeoutInterval to 5000
* removed unused debounce import
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Update all unit test packages, set node engine rules, new circleci workflow
Co-authored-by: unlikelyzero <jchill2@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* revised new tree refactor, moved most of the logic to mct-tree instead of tree-item
* scrollTo set for sync, bug fixes, window resize handling
* removing console logs
* checking domainobject composition for length to verify children instead of composition object itself
* added scrollTo on load if in viewed objects directory
* loading, sync bug, search issues, opitmization
* initial PR review updates
* modified so search now uses the same container and virtual scroll
* eslint fix
* Adding new glyphs
- Multiple new glyphs cherrypicked from branch `add-new-glyphs-062320`;
* Styling for new-tree-refactor WIP
- WIP!
- New glyphs, markup changes in BrowseBar.vue;
- Refinements to tree items, WIP;
- TODO: move hard-coded CSS values into _constants, make
theme-compatible;
* Styling for new-tree-refactor WIP
- WIP!
- Added new `c-click-link` CSS class;
- Move tree sync button into tree pane area;
- Added named "controls" slot to pane.vue;
- _up and _down arrows now use visibility instead of opacity to prevent
accidental clicks;
* Styling for new-tree-refactor WIP
- WIP!
- Significant mods and simplification in pane.vue and assoc CSS for
expand/collapse functionality;
- Wait spinner when in tree: cleanups, simplification;
* More new glyphs, updated art
- New glyphs: icon-unlocked and icon-target;
- Updated art for icon-lock glyph;
* remove arrows for search results, hightlight "my items" correctly, added empty folder notic
* Styling for new-tree-refactor WIP
- WIP!
- Refinements to "empty" object element;
- Changed sync-tree icon glyph;
* Styling for new-tree-refactor WIP
- Nav up arrows now left-align properly;
* Styling for new-tree-refactor
- Significant consolidation and cleanups in mct-tree.scss;
- Normalize base and hover styles across new tree, legacy tree,
list-items (used in Notebook) and Folder List View;
- Class naming normalization, change `c-list-item__name-value` to
`c-list-item__name`;
- Add styling to override and remove `<a> outline: dotted` coming from
normalize-min;
- Removed too-broad `<a>` coloring in tables;
* Styling for new-tree-refactor
- Fix styles for Snow theme;
- Sync Maelstrom and Espresso themes;
- Remove too-broad `<a>` hover styling from global.scss;
- Disallow pointer-events on `is-navigated` object's label (click on
c-nav__down element still allowed);
* Styling for new-tree-refactor
- Normalizing status area expand/collapse iconography to match new
approach in panes;
* Adding new glyphs
- Added `icon-items-collapse` and `icon-items-expand`;
* Styling for new-tree-refactor
- Using new glyphs for items expand/collapse in Status area;
* dynamic item height for desktop and mobile views
* lint fixes
* updated addChild and removeChild functions as they were not working at all
* some PR comment updates!;
* Remove unneeded hard-coded CSS color property
* fixed issues when multiple root children exist, added plugin to change the name of the default root object
* removing "my other items" testing references
* linting fixes
* updating karma timeouts for testing purposes
* eslint fixes
* WIP: fixing linting issues
* updating for testing
* set root object provider to update root registry if called more than once
* tweaking tests so that it passes both locally and on the serve tests
* removing old css code preventing context clicks on active menu items
* fixing testing errors
* backwards compatible storage fix
Co-authored-by: charlesh88 <charlesh88@gmail.com>
Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov>
* 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%
* fix test coverage.
* changes per comments + added test-coverage script to increase max-old-space-size of V8
ref: https://nodejs.org/api/cli.html#cli_max_old_space_size_size_in_mbytes
* renamed test:coverage and test:debug.
* circle-ci to use test:coverage.
* reduced test coverage thresholds.
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* 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.
* Updated Karma and Jasmine versions
* Added DOMObserver class. Supports promise-based testing of DOM changes
Update asynchronous test specs to use promises or done() instead of waitsFor/runs
* Modified ActionCapability to duplicate context object properties as own properties for better object equality comparisons
* Global find + replace to fix syntax issues
* Fixed various issues caused by non-deterministic runtime order of tests in Jasmine 3. Fixed issues caused by changes to determination of object equality
* Addressed review comments
* Resolved merge conflicts with master
* Fixed style errors
* Use spy.calls.count() instead of manually tracking
* NASA - OPEN MCT NOTEBOOK UI PROTOTYPE CHALLENGE
https://www.topcoder.com/challenge-details/30059614/
Initial submission
* Code updates:
-Topcoder final fixes
-NASA review fixes
* drag and drop style fix, new entry focus, delete display fix
* NASA reported issues fixed:
objects saved in notebook, delete entry dialog, style files, and new entry from drag objects fixed.
* Annotation toolbar UI style fixes, added annotation functionality on new entry dialog
* painterro .map file issue fixed.
* NASA review fixes:
css files adjusted
notebook children tree removed
embed's title links to live object
* CouchDB documentation added
* CouchDB documentation added
Screenshots added.
* CouchDB setup documentation added
* Test case functional and cosmetic issues fixed.
* Test cases functional and cosmetic issues fixed.
* updated file saver library
* Code issues fixes:
NotificationLaunchIndicator deleted.
Inappropriate modifications to domain object models fixed.
Implemented $destroy listener on entryDnd directive.
Naming conventions fixed.
Unnecessary changes made to platform handled.
Painterro dependency handled
gulp verify fix.
* names and package fixes
* filenames fix
* [Notebook] Relocate to platform/features/notebook
* [Notebook] Remove obsolete README
* [Notebook] Restore original index.html
* [Notebook] Expose via openmct.plugins
* [Notebook] Remove demo entries
* [Notebook] Run gulp fixstyle
* [Notebook] Use dot notation instead of brackets
...for checkstyle
* [Notebook] Remove extra comma
* [Notebook] Run gulp fixstyle
* [Notebook] Use dot notation instead of brackets
...for checkstyle
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Fix lint issues
* [Notebook] Run gulp fixstyle
* [Notebook] Include painterro for tests
* [Notebook] Fix require config for painterro
* [Merge] WIP markup and styling
Fixes#1896
- Very much WIP, currently having issues with
hovering and jiggling
* [Merge] WIP markup and styling
Fixes#1896
- Very much WIP, attempting to convert
textarea to contenteditable;
* [Merge] JS debugging
Fixes#1896
- Very much WIP!
* [Merge] JS debugging
Fixes#1896
- Really, really WIP
- DnD doesn't work properly, and drag to
existing entry no longer works.
* [Front-end] Notebook thematic styling; test console
Fixes#1896
- Added thematic styles and config;
- Really, really, really WIP!!
- DnD doesn't work properly, and drag to
existing entry no longer works.
* [Merge] Cleanups in JS
Fixes#1896
- Removed and commented out logging statements
* [Merge] WIP SCSS and markup polishing
Fixes#1896
- Significant style and markup changes;
- Styles, layout, etc. relating to embed elements;
- Fixes in both notebook.html and embedControl.html;
- Class name normalization;
* [Merge] WIP Mods related to MCTModalNotebook.js
Fixes#1896Fixes#1906
* fix drag and drop, delete entries
* [Front-end] Refined styling of entry embeds
Fixes#1896
* [Merge] Generalized hover hide/show of local controls
Fixes#1896
* [Merge] Generalized labeled icon-* elements
Fixes#1896
* [Frontend] CSS normalizing, apply general styles in markup
Fixes#1896
- Notebook class names more individualized;
- Apply .labeled and .has-local-controls general classes;
- Apply .s-input-inline to contenteditable div;
- Look and feel cleanups for drag area and entry elements;
* added modifiedOn time for entries that are changed, and fixed issue regarding inner text being filled when new entry button clicked
* [Frontend] CSS sanding and cleanups
Fixes#1896
- Removing unused classes;
- Finessed margin and padding;
* [Frontend] Mobile styling
Fixes#1896
- Mod .has-local-controls to not apply when in touch context
* [Frontend] WIP Mobile styling
Fixes#1896
- phone portrait entry layout optimization
* fix expand in layout, which was causing snapshot at expand
* [Frontend] Fixes to search control
Fixes#1896
- Search control now more robust, added
.search-filter-by-type class selector;
* [Frontend] Fix custom Selects
Fixes#1896
- Custom Selects now much more
solid, handle width compression better;
* remove duplicate code from MCTModalNotebook and roll changes into MCTTriggerModal
* [Frontend] WIP Mobile styling
Fixes#1896
- Fixed general approach to portrait orientation in
mobile/_layout.scss to use media query;
- Fixed portrait layout in _notebook_base.scss
to use media query;
* prevent multiple new notebook entry divs from being created on open overlay, instead create on initialization
* [Frontend] WIP Snapshot styling
Fixes#1896
- Better class names;
- Moved buttons in frame layout;
* remove frame layout duplicate and use frame.html
* fix issue of preserving line breaks when text is received from a persisted source
* add comments, clean out some code, and fix broken tests
* fix export image after merging with master
* include painterro in karma config
* Inlined templates for notebook
* disable view policy - to allow layouts to function - needs more investigation
* fix layout display overload, remove viewpolicy and notebookLayout.html. Fix delete error - issues found when deploying for testathon
* fix (not being able to focus on content editable div to add text, while in layout)
- when in layout, the first child of the outermost div is the only one that registers a click, this was causing an issue of not being able to edit notebook entries. My fix includes finding the first child of the div that registers the click and forcing a focus event.
* fix focus one new entry issue, cleanup of code related to finding elements, and write more reusable code
* abstract findElementById for reusability and improve performance from O^2 to O
* user findElementById in entrydnd
* change snapshot library to dom-to-image
* [Frontend] WIP Snapshot styling
Fixes#1896Fixes#1947
- Significant markup changes to template in ViewSnaphot.js
- WIP!!! Keeping own topic branch for now
* [Frontend] WIP Snapshot styling
Fixes#1896Fixes#1947
- Significant markup changes to ViewSnaphot.js;
- Change in imagery.scss to move non-layout styling
to appropriate class;
* Removed snapshot from version number to close sprint eagle
* Updated version number for Enterprise release
* Lock filesaver version (#1956)
Lock filesaver version as there have been a large number of broken
builds from what should be non-breaking version increases.
Fixes currently broken build.
* [Frontend] Snapshot styling
Fixes#1896Fixes#1947
- Final tweaks after rebase from
notebook-integration-deep-styling
* fixes issue of overlay not closing when context menu item in clicked when viewing snapshot
* [Frontend] Painterro styling
Fixes#1896Fixes#1947
- WIP
- Painterro styling overrides and config
- Removed commented code
* [Frontend] Painterro styling
Fixes#1896Fixes#1947
- WIP
- Painterro styling overrides and config
* fixes issue of overlay not closing when context menu item in clicked when viewing snapshot
* specify require paths for new library
* [Frontend] Local controls CSS added for hide/show of trash can icons
Fixes#1896Fixes#1947
- Also updated frame.scss to use same transition timing
* proper shimming
* dragging objects to notebook now only creates a link, clicking on snapshot from object view takes a snapshot of the current view, without re-rendering
* [Frontend] Local controls CSS added for hide/show of trash can icons
Fixes#1896Fixes#1947
- Also updated frame.scss to use same transition timing
* select correct div for snapshot
* [Frontend] Adding background color to snapshot
Fixes#1896Fixes#1947
* remove snapshot class after async image render
* [Frontend] Adding background color to snapshot
Fixes#1896Fixes#1947
* remove snapshot button from frames in layout
* remove snapshot from frame view, add it only to overlay, change mctSnapShot to accomodate taking snaps of overlay/object view
* add preview action, working, need styling for notebook action on preview
* fix checkstyle
* change glyph for preview, use similar tempalte to frame.html
* dont allow preview action on objects getting edited currently
* changes to browseController and NavigationService to block navigation and show preview of object when trying to navigate to object in tree in edit mode
* [Frontend] Painterro styling and config
Fixes#1896Fixes#1947
- Changes mainly related to toolbar styling and labels
* [Frontend] Notebook/Preview related sanding and polishing
Fixes#1947
- Changed description for notebook-new-entry
* [Frontend] Notebook/Preview related sanding and polishing
Fixes#1947
- Added new global "hide-in-t-main-view" class;
- Apply new class to Preview action to suppress
display of that button in main view of navigated object;
* code cleanup
* [Frontend] Notebook/Preview related sanding and polishing
Fixes#1947
- Classes for Notebook Entry button spacing;
* abstract overlay into a service/api - to reduce code duplication
catch error produced by painterro because of async div creation by dialog service
* fix broken mcttriggermodal tests
* fix checkstyle and lint
* add functionality of being able to add buttons to the browse bar element of overlay when instantiating the overlay service
* Reduce frequency of template recompilation in mct-include
* Use updated painterro library. Fixes#1981
* add save flag and call done in both cases (clicking on cancel or ok)
* fixes#1951
persist modified empty entry on blur
* Bump Node Version
* fix checkstyle
* fixes issue where annotating snapshot that is already saved in notebook does not work
* fix painterro button styling issue
move jquery logic inside timeout block, because buttons are asynchronously created
* remove description required when saving snapshot to notebook
* remove create snapshot action from embeds, and add preview action to embeds
* fixes edge case for issue #1981
Add a reject callback in the edgecase that user presses the x icon or esc key to cancel annotation, which was leading to the drag drop issue
* Add default sort options on creation menu of Notebook
* fix auto focus on new entry when in oldest first order, both in layout and regular view
* [Frontend] Notebook mobile mods
- Hide entry area when mobile;
- Disallow entry edit or delete in mobile;
* fixes issue 2041 (#2049)
* fixes issue 2041
allows user to select caret position in notebook entries while in layout
* [Frontend] Restore class, refine selector
Fixes#2041Fixes#2049
- Restored .s-input-inline to editable field;
- Refined pointer-events: none to properly target .title-label only;
* remove unused files/code and smoke test
* remove , add pre-wrap to css and use inner text
* make reviewer requested changes 'in progress still'
* make reviewer requested changes 'continued'
* replace html2canvas with dom-to-image
- add in progress dialog to export image service
- add error dialog to export image service
* Search UI refactored to use flex
Fixes#1947
- Fixes broken search inputs in main search and Notebook;
- Significant rewrite to search SCSS and markup;
* Fixes for Notebook custom selects; polishes to search
Fixes#1947
- Better flex styles for custom selects;
- Refinements to search styling;
- Much better mobile responsive layout for search and controls
in portrait layout;
* fix preview action for embeds, which was showing current domain object vs selected domain object
* Fixed hidden search dropdown menu
Fixes#1947
* Revert whitespace change
Revert change to whitespace in index.html. #1947.
* [Export] Use html2canvas
Use html2canvas instead of dom-to-image. Fixes issues with text
exports. html2canvas is better supported and under active
development and is a better choice for this library. Cleaned up
export code, ensure that images are properly saved as the correct
types.
related to feedback on #1947
* Don't show brackets when timestamp is not specified (#331)
* [Plugin] Add static root plugin
Add StaticRootPlugin, which allows a file exported with the ImportExport
plugin to be mounted as a static root in Open MCT. Allows deployers
to configure standard displays for deployments by exporting displays they
have already created.
* Include all src files
Merge of new plot
* Introduces new Plot object and view
* Removes Old Plot
* Add LAD support and state type to generators
* Removes Telemetry Panel Type
* Telemetry API Updates
* UTCFormat.parse: passthrough numbers
* TelemetryAPI: default request arguments
* TelemetryAPI: fix enum formatting
* Markup and styling to support new plots
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.
Switch Karma to use PhantomJS to run tests. CI machines no longer
need to have Chrome installed.
Implemented after changes to build process due to imperative registration.
https://github.com/nasa/openmctweb/issues/450