Commit Graph

1227 Commits

Author SHA1 Message Date
Pegah Sarram
e07cfc9394 Layout drawing (#2232)
* - Show "Add" button in the toolbar when a display layout object is selected.
- Add a flag to object view's show() method to indicate immediate selection of the view. If the view implements getSelectionContext() use it, otherwise set to default context.

* Create a component for each element.

* Saving work

* Add element factory for creating new instances of elements.

* Mutate element when a new one added and get elements when the component is mounted.

* Add create() method for creating a new telemetry and element in their respective view configuration.

* Add some of the toolbar controls for box, text, image and line elements. Also, add X, Y, Width and Height controls for alhpanumeric elements.

* Pass name to addElement as type.

* Add c-frame-inspectable class if item is inspectable.

* Clean up

* Hide frame for summary widgets by default.

* Better styling for editing

- s-selected on shell__main-container;
- Better edit grid coloring for espresso;

* - Update toolbar-button to support dialogs.
- Update toolbar to construct a value object based on form keys if a toolbar item has a dialogi, and mutate the form keys.
- Add toolbar controls for editing text and url for 'Text' and 'Image' elements respectively.

* Editing-related changes

- Removed hard-coded .is-selectable and .is-moveable from
LayoutItem.vue, updates accordingly to _global.scss;
- Theme constants updated;
- TODO: apply changes to Flexible Layouts;

* Better defaults

- Better default grid size and object size;

* - Fix toolbar-input to read value as a number if type is 'number'.
- Remove rawPosition from view configuration and instead get the position and dimensions from the properties (x, y, width and height) directly.
- Set the style property on the view configuration instead of the layout item.
- Move the logic for updating the style to the view configuration.

* Fix default dimensions for telemetry items and subobjects since the default grid size is changed.

* Remove form definition for display layout type.

* Reword the comment

* Let subobject view configuration handle new panel creation.

* Add default grid size back and remove unused code.

* Pass in only the needed method.

* Define default position in case the object is not added via drag 'n drop.
2018-12-04 09:12:45 -08:00
Andrew Henry
cbcfd44016 Elements pool and drag drop (#2196)
* Implemented drag-and-drop composition

* Added composition policy for tables

* Reimplemented elements pool in Vue

* No need to resolve all objects on the navigated path

* Only show elements pool in edit mode

* Remove old elements pool

* Updated legacy code to use composition policy API

* Keep object in sync when mutated
2018-10-23 10:52:37 -07:00
Pegah Sarram
4374a6fa28 Toolbar in Fixed Position (#2194)
* Initial attempt at getting the toolbar for the fixed position working with the Vue toolbar controls.

* Set title for controls

* Significant mods to support legacy Fixed Position

- Moved selection and editing styles into _global.scss;
- Changed class naming in legacy fixed.html to map to newer CSS styles;

* Pass in the color value

* Do not show the toolbar container if structure is empty.

* Use a plugin for fixed position to get access to openmct. Show the toolbar only if the object is being edited.

* Ensure fixedController is on the selection context when editing

* Add listener for a domain object with the same id only once.
Update the toolbar value after the object mutation.
Remove editor isEditing listener on destroyed.

* Remove space between the size and px.
If newObject exists, update the toolbar value.

* Remove --nwse class name which seems to be a typo

* use modifier convention
2018-10-19 11:42:30 -07:00
Pegah Sarram
d48cc2deee Vue toolbar (#2191)
* Add a toolbar provider for display layout.

* Move toolbar provider to the plugin

* basic toolbar generation

* componentize different toolbar control types

Break toolbar control types down into different parts and provide
a test toolbar generator in index.html that utilizes all the
controls.

* Get the 'Show frame' checkbox working in the toolbar

* - Remove extra listener.
- Display toolbar only when editing.

* Modify the Selection API to set s-selected and s-selected-parent attributes instead of adding to the css class names.

* Move the logic for allowing the toolbar in the edit mode to the provider.

* Use toggle-button component to toggle frame

* Delete old files

* Remove MCTToolbar

* Modify the toggle button component to return the computed value

* Remove reload=true

* Revert to the original setting

* use value from props

* Always update toolbars on edit status change

* restore fixed position bundle

* bring back reload when hmr unavailable
2018-10-11 11:33:33 -07:00
Pegah Sarram
e7cdb334de Reimplementation of Display Layout in Vue (#2185)
* Saving work

* Fix conflict

* Position the panels by setting the style

* Put the div back with height set to 100% in ObjectView.
Add markup for  drag handles.

* Use default position and dimensions if the layout panel is missing those values. Set s-status-editing on the main div to get the drag handles appear for now.

* Display Layout and frames major improvements

- Moved Toolbar out of Layout.vue and into DisplayLayout.vue;
- Styles for object view, Layout, Frame, etc.
- Major refactor of markup for frame;
- Added abs() mixin;
- Styles for is-editing done;
- Styles for
- TODO: styles for selectable, moveable, etc.

* Implement drill in gesture.

* Hide the background grid when a frame is drilled in

* Edit styling and toolbar WIP

- c-search styles moved mostly into mixin;
- New .c-labeled-input class;
- Browser overrides for number-type input spinners in webkit;

* Toolbar WIP

- Custom wrapped number input added;
- Toolbar buttons WIP;

* New toolbar buttons WIP

* Define a computed property for the css class object.

* Frame edit handles markup and styling

* Toolbar, editing and selection style refinements

- Moved toolbar back into Layout.vue;
- Hard-coded 'is-editing' onto __pane-main for now,
removed from DisplayLayout.vue;
- Styles for frame in LayoutFrame.vue:
-- editing default (dotted border)
-- editing .s-selected
-- .s-drilled-in (renamed .is-drilled-in)

* Refactoring button classes

- Lots of stuff broken right now;
- TODO: lots of renaming (c-menu-button, c-icon-button, etc.);
- Removed import of _controls in search.vue;

* Fixes for selection on nested selected elements

* Fix conflict

* Significant refactoring of button and click-icon classes

- Markup and CSS updated;
- Toolbar in good shape, prior to merge of vue-layout;

* Fix issues with relative font-sizing

* Add color palette markup and CSS

- Also added Layers menu example;

* Font, font-size glyphs and size menu, and more

- Added art for font glyph and renamed from .icon-T;
- Added new glyph for font-size;
- Fixed font-sizing in controls;
- Added font-size menu;
- Re-org'd toolbar items;

* Styling tweak for c-labeled-input

- Code cleanup as well;

* Fixes for toolbar toggleMenus and labeledNumberInput

* Implement resize and move for frames.
Added stub for drag 'n drop.

* Add custom checkbox control.

- Also, code cleanup.

* Add toggleButton component

- Code and examples

* Custom checkbox code cleanups, sanding

* - Persist new position/dimensions on the domain object when frames are moved/resized.
- Bypass the selection of the layout when dragging a frame is finished to keep the frame selected.
- Set the grid size to layoutGrid from domain object or use default if it's not specified.

* Fix conflict

* Implement resize and move for frames.
Added stub for drag 'n drop.

* Remove old layout view, was triggering View Switcher
and massive confusion when viewing Layouts

- TODO: add view provider for new Layout

* Enable drag and drop

* Changed example toggle-button

- Now uses show/hide frame as toggle-button example;

* Added pseudocode for handling drag/drop composition change

* Add copyright notice

* Layout frame and contained components styling

- Hyperlinks, Hyperlink buttons, Summary Widgets now use `.u-links`
which disables their pointer-events when editing;
- Hyperlink buttons, Summary Widgets now expand to fill their
containers in a Layout;
- Markup and JS for Hyperlinks, Hyperlink buttons, Summary Widgets
somewhat
modded to use new classing, applied in legacy scss files;

* Fix icon sizing error in BrowseBar

* Edit and selecting styling for Layouts

- WIP!

* Edit and selecting styling for Layout frames

- Color vars more standardized;
- Hover and *-selected styles;

* Getting vue-toolbar reverted back to latest

- Merging this branch with vue-layout may cause conflicts;

* - Implement drag ’n drop.
- Set hasFrame to a default value if it’s not set on the configuration.
- Emit an event to the parent wrapper component to update the ‘newDomainObject’ prop whenever the domain object is mutated in the display layout child component.

* Revert emitting 'update:object' event to the parent.

* New branch from topic-core-refactor to use as central point for common
CSS work

- Manually migrated changes from vue-toolbar, expect conflicts there and
 in vue-layout;

* Manually update constants-snow from vue-toolbar branch

* Update markup to use latest button classnames

- c-menu-button > c-button--menu;
- c-icon-button > c-click-icon;

* Various from vue-conductor-style

- Mods to input styling;
- Input[] styles moved to _controls;
- New/revised constants vals;

* Resolve bizarre merge conflict when applying stash

* Code cleanup

* Alias and type-icon fixes

- More robust approach to alias indicators;
- Added alias indication to tree-item.vue;
- TODO: wire up alias indication tree-item.vue;

* Accessibility mods, convert elements to <button>

- Better reset styles for htmlInputReset mixin to allow use of <button>
without browser default styling;
- Create button;
- BrowseBar action buttons;
- c-click-icons;
- Removed Preview button from BrowseBar.vue;

* Fix styles that were affected during resolving conflicts

* Moved draggable into __label element rather than whole <li>

* Change the priority to 100 to get the view working properly

* Code cleanup

* Remove angular layout

* Display the object name in the frame header

* Tweaks to __header in LayoutFrame

- Name now does not overflow frame edge;
- Layout strategy now in parity with similar elements in main view;

* Remove test()

* Add a type for display layout to make it appear in the Create menu.

* Change the key type to 'layout'

* Clean up code and hide toolbar

* Enable toolbar, and revert changes in webpack config

* Remove commented code

* revert to the original code
2018-10-04 15:59:23 -07:00
Pete Richards
e6e5b6a64a remove angular list/folder view 2018-10-01 11:42:12 -07:00
Andrew Henry
987740c649 Reimplementation of time conductor in Vue.js (#2173)
* Refactoring conductor to use Vue

* Conditionally render Time Conductor

* Created ConductorOptions SFC

* Copyright notice examples

* Added time system selector component

* Use capture for event bubbling with popups

* Added Conductor Axis. Simplified Axis formatting and removed scale formatting from formatters. Added date picker.

* Sync axis on zoom

* Fixed sync between conductor and axis

* Changed 'InspectorComponent' to 'ConductorComponent' in Layout. Fixed race condition with panning and RequestAnimationFrame

* Renamed properties in conductor to clarify their role. Fixed some bugs

* Removed old conductor

* Fix layout issue with legacy Conductor markup

* Added missing copyright notice
2018-09-26 15:41:04 -07:00
Deep Tailor
3a28caac06 Notebook Vue Version (#2160)
* working entries... wip

* componentize entries

* embed ability with drag into entry

* snapshot action partial

* working search

* abstract EntryController, working search, drag and drop

* keep deleteEntry local to entryController

* working snapshotOverlay

* fix snapshot object

* abstract Embed Controller, working context menu, working remove embed

* working preview action in embed context menu

* add overlay header with timestamp

* working annotate and new entry contextual

* Remove old notebook

* use same key, remove extra style files

* working embeds

* fixed markup for snapshot overlay
2018-09-12 15:27:19 -07:00
Andrew Henry
78c731dbf7 Reimplementation of tables in Vue (#2154)
* Reimplemented tables in Vue

* Updated table configuration to remove table namespace, and support column width in future.

* Fixed table configuration persistence

* Updated vue tables to use ES6 style function notation
2018-08-31 11:54:46 -07:00
Pete Richards
0d53898af9 Build refactor to webpack (#2139)
* Move to webpack build
* Use webpack for building openmct.  Move SCSS to one folder and load
all core css up front.  Remove bower, begin removing gulp in favor
of npm run.
* Uses eslint instead of jshint and jscs.  Merge style checking rules
into .eshintrc.js, carrying over core parts of crockford style and
our adaptations.  Current code base fails to pass the linter, want
to separate linter changes from fixes to linting rules.
* Support for Vue SFC with example
* Remove outdated examples
* Use HTML loader for html (supports relative imports of resources e.g.
images) and raw-loader for when javascript must be loaded as text.
2018-08-07 14:47:50 -07:00
Pete Richards
15a75ac134 [Table] prevent forced reflow on scroll (#2117)
Prevent forcing a reflow during scroll events, improving scroll
performance.
2018-07-20 16:49:52 -07:00
Deep Tailor
1a10c966e0 deprecated timeline (#2119)
* first release of deprecated timeline

* Better deprecation message and use unknown icon class

* Update deprecated-timeline-message.html

Added a period to end of sentence.

* remove unused files, and commented code - If we need timeline again we can recover from git

* Provide link to tracker in deprecation message
2018-07-20 15:45:30 -07:00
Pete Richards
b0702ceff5 [Table] Check alarms for all values (#2115)
Check alarm status for all values, not just ranges.  This allows
limit evaluators to apply styling to additional columns if
desired by developers.
2018-07-17 13:55:35 -07:00
Deep Tailor
5af14cd3b9 [Notebook] Snapshot overlay - fixes issues #2098 #2102 #2108 #2110 (#2113)
* snapshot - when taking a snapshot of overlay, select object-holder vs the entire overlay. This fixes plots not being captured

* remove new Notebook entry from context menu - fixes issue #2098

* add licence information for Painterro - fixes issue #2108

* add watch for defaultSort - fixes issue 2102

* dont allow snapshot action from imagery

* fix checkstyle error
2018-07-17 11:30:01 -07:00
Charles Hacskaylo
d7eb4c17ca Added div element to force horz scroll in table body (#2111)
Fixes #2103
- Added div that is set to the calculated table width. When
filtering is such that no rows are present in the tbody
of the table, this element will still force a horizontal
scroll in that area, allowing the user to horz scroll the headers;
2018-07-16 15:25:02 -07:00
Andrew Henry
8c9fe2d36b [Tables] Address performance issues observed in testathon (#2112)
* Use datum key of 'utc' for timestamp

* Do not try to get column values for data that does not have those values

* Collapse current time system columns

* Noop parsing for numbers in LocalTimeFormat

* Do not attempt to provide data for columns that object does not have telemetry for. Fixes #2027
2018-07-16 15:23:34 -07:00
Andrew Henry
3246480f82 Indicators api (#1837)
* [API] Added Indicators API

* [Indicators] Converted Follow Indicator to new Indicators API

* [Indicators] Converted URL Indicator to new Indicators API

* [Indicators] Changes to some legacy indicators for compatibility with new Indicators API

* [Indicators] Addressed code review items from https://github.com/nasa/openmct/pull/1837

* Updated tests for URL Indicator

* Adding Indicator API spec

* Address linting issues

* Switched to direct DOM manipulation rather than template compilation to avoid an unnecessary extra holder element

* Updated documentation to reflect changes to API

* Indicators api styling (#2076)

Updated styling for Indicators

* Update API TOC

* Fix color of items w-mct-example areas of Style Guide

Fixes #1837

* Status class refactoring and cleanups

Fixes #1837
- Significant cleanups and name refactoring to allow more
concise selector definitions, with changes in js, html and scss files;
- Updates in Style Guide > Status page, with some content
reorganization and clarification;

* Corrected out of date API

* de-zeptoed Indicator API test spec

* Remove promise from URLIndicator

* Separated legacy indicators support

* Updated Indicator specs to Jasmine 3

* Fixed checkstyle and lint issues

* Moved legacy indicators support to adapter folder

* Various fixes for Indicators

Fixes #1837
- Added SASS constants for Indicator colors;
- Removed commented code;
- Removed unused indicator classes from _messages.scss
- Fixed missing s-status-on class;

* Significant revisions to Style Guide Indicators content

Fixes #1837
- Better documentation including recommendations;
- Better and more concrete examples;

* Style Guide example tweaks

Fixes #1837

* Refinement to Style Guide Status and Limits content

Fixes #1837
- More detail and clarification on Status and Limits;

* Cleanup code

Fixes #1837
- Remove commented styles;
- Line return refinements;
2018-07-16 15:21:38 -07:00
charlesh88
b0f73fff0d Add overflow: auto when snapshotting table for Notebook
Fixes #2105
2018-07-03 16:57:26 -07:00
charlesh88
755cf21d3f Local control tweaks
Fixes #2094
- Adjust timing;
- Added hover effects for .s-notebook-entry;
2018-07-03 14:33:35 -07:00
charlesh88
95457a1981 View control fixes
Fixes #2094
- Add position: relative to .view-control main class;
- Add correct classes to markup;
- Fix Sum Widget field size while I was in there;
2018-07-03 14:25:39 -07:00
Andrew Henry
433dee0314 Update test specs to use Jasmine 3 (#2089)
* 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
2018-06-29 17:32:59 -07:00
Deep Tailor
b8f278cabf [Tables] - Sticky headers (#2071)
* first revision

* [Frontend] Styling for sticky table headers

Fixes #1481
- WIP convert mct-table layout to use flex;
- TODO: fix flex layout when a small number of rows;
- Rename CSS classes used as selectors by JS;

* remove header height from calculations since it is outside in its own table now

* [Frontend] Styling for sticky table headers

Fixes #1481
- Fixed flex layout when a small number of rows;
- Refined input padding and dropshadow for more compactness;

* fix tests and verify tables works properly in layout and large view

* add mct-scroll to header table to allow scrolling in sync with the rest of mct-table

* Various fixes and polishing

Fixes #2071
- Fix headers height issue;
- Move inline styles to classes;
- First round fix for horz overflow due to scrollbar problem;

* WIP horz overflow

Fixes #2071
- Commented out CSS-based scrollbar with approach in
anticipation of better JS solution;

* Horz overflow/scrollbar problem fixed

Fixes #2071
- Added calcTableWidthPx to allow sizing-table to subtract
width of scrollbar;

* Remove commented code

* add clear icon back into filter text boxes

* Polishing on sticky table headers filtering

Fixes #1481
Fixes #2071
- Now hides the magnify glass in table header filters when typing;
2018-06-29 11:38:18 -07:00
Charles Hacskaylo
9d2c7a6de5 Review and integrate UI enhancements (#2078)
* [Frontend] WIP New local-controls classes

Fixes #2000
- h-local-controls
- Markup in plots changed
- Changed reset plot button's icon

* [Frontend] WIP local-controls classes

Fixes #2000
- Refactoring to use and apply local-control classes consistently;
- Plots and imagery done in main view and Display Layout contexts;

* [Frontend] WIP local-controls classes

Fixes #2000
- Use local-control classes in Timelines;
- Group Timeline buttons in l-btn-set;
- Use reset icon glyph;

* [Frontend] WIP local-controls classes

Fixes #2000
- Slight increase in size to buttons in frame context;

* [Frontend] local-controls classes

Fixes #2000
- Code cleanup;
- Update Style Guide content;
- Provisionally done, needs unit testing and double-checking;

* [Frontend] Better selecting in browse mode

Fixes #2000
- Better colors and approach to selecting in browse mode;

* [Frontend] Tweaks to pane collapse mini-tabs

Fixes #1758
Fixes #2000
- Enlarged mini-tabs and moved to screen top;
- Removed duplicative theme-based constants;

* [Frontend] Tweaks to "nav up" arrow button

Fixes #1758
Fixes #2000
- Increased hit area of .l-back "nav up" arrow in object-browse-bar;

* [Frontend] Glyph improvements

Fixes #1758
Fixes #2000
- New arrow glyph for view controls;
- Increased hit area of view controls in tree for mobile and desktop;
- Better "hamburger" menu glyph;

* [Frontend] Inspector refactor to CSS grid WIP

Fixes #1758
Fixes #2000
- WIP!!!;
- Good progress on Properties section;

* [Frontend] Inspector refactor to CSS grid WIP

Fixes #2000
- Significant mods to CSS and markup;
- New grid archetypes classes;
- Added title attribs to plot options edit and browse props;
- Added value, alarm markers to plot series browse props;
- Nearly done (?) but needs unit testing and cleanups;

* [Frontend] Minor tweaks to form and form-row

Fixes #2000
- Fixing margin problem with .form-row;
- h2 instead of div.section-header;

* [Frontend] Fixed H2 in Elements pool

Fixes #2000

* Refinements to Time Conductor

Fixes #2000
- Tweaks size of fixed position grab ticks;
- Positioning refinements to ticks and text;
- Hide major tick marks;

* Hide View Large button for nested hidden-frame Layouts

Fixes #2000
- When a layout is nested and has its frame hidden, hide the
View Large button;

* Better hiding of Time Conductor "Submit" button

Fixes #2000

* Re-added new icon-arrow-right-equilateral glyph;

Fixes #2000
Fixes #2078

* Remove commented styles/markup

Fixes #2000
Fixes #2078

* Repaired approach to hiding Time Conductor Submit button

Fixes #2000
Fixes #2078
- Renamed .off to .invisible and added refinements;

* Fixed wrong conflict resolutions; polish search

Fixes #2000
Fixes #2078
- .invisible instead of .off in search.html;
- Minor polishing to search;

fixes #1758
fixes #1763 
fixes #2011
2018-06-29 11:18:50 -07:00
Deep Tailor
90a6bbc13e Notebook integration deep (#1947)
* 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 #1896
Fixes #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 #1896
Fixes #1947
- Significant markup changes to template in ViewSnaphot.js
- WIP!!! Keeping own topic branch for now

* [Frontend]  WIP Snapshot styling

Fixes #1896
Fixes #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 #1896
Fixes #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 #1896
Fixes #1947
- WIP
- Painterro styling overrides and config
- Removed commented code

* [Frontend]  Painterro styling

Fixes #1896
Fixes #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 #1896
Fixes #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 #1896
Fixes #1947
- Also updated frame.scss to use same transition timing

* select correct div for snapshot

* [Frontend]  Adding background color to snapshot

Fixes #1896
Fixes #1947

* remove snapshot class after async image render

* [Frontend]  Adding background color to snapshot

Fixes #1896
Fixes #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 #1896
Fixes #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 #2041
Fixes #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)
2018-06-28 17:13:34 -07:00
Pegah Sarram
73e38f1955 [Toolbar] Implement a public API for adding toolbars (#1908)
* [API] Implement a toolbar registry and a plugin to allow providing a toolbar for a selected object.
* Modify the mct-toolbar directive to get the toolbar structure from a provider based on selection.
* Implements the layout toolbar in the layout bundle
2018-06-27 13:30:01 -07:00
Deep Tailor
de8f8d174d Add a string formatter (#2087)
* add StringFormat to formats
 fix #2086
2018-06-27 11:02:24 -07:00
Julie Wang
b187762d55 [Folder] List view load fix (#2069)
* [Folder] List view load fix

-List view data takes long time to display, has to do with Angular not triggering its digestive cycle when switching views
-Resolved issue by explicitly triggering the digestive cycle
-Fixes issue #2067

* Added comment to clarify code addition

fix #2069
2018-06-21 10:52:27 -07:00
Andrew Henry
45a152df86 Build columns from union of telemetry value metadata. (#2075)
* Build columns from union of telemetry value metadata. Do not manually clean up scope. Fixes #2027. Fixes #1884. Fixes #1817.

* Fixed tests that are failing on circle-ci

* Inlined getMetadataValues function
2018-06-21 10:50:43 -07:00
David Milewicz
a3e78bbf91 Duplicate images (#2058)
* [Images] changed updateHistory to only compare the URL value and timestamp for equality
2018-06-20 14:26:13 -07:00
Deep Tailor
374e4afc32 allow clearing table filters with cancel button #1989 (#2005)
* fixes issue #1989 add cancel icon to filter input in table headers, which allows user to clear filter with one click
2018-06-20 14:18:54 -07:00
Andrew Henry
ec9fd59d4a Added digest after showing / hiding spinner 2018-06-15 11:15:03 -07:00
Andrew Henry
08bed6c23a
Fluid layouts 2 electric boogaloo (#2047)
* [Frontend] Viewport metatag updated

Fixes #2008
- Added shrink-to-fit=no;

* [Frontend] Fix to Time Conductor for Safari

Fixes #2008
- CSS mod for gradient blockers in TC

* [Frontend] Remove data visualization element in TC

Fixes #2008
- Note: this element holds the TOI indicator!

* [Frontend] Hide TC ticks when on mobile

Fixes #2008
- Added class `mobile-hide` to <conductor-axis>

* [Frontend] Significant mobile fixes for panes and viewport

Fixes #2008
Fixes #1770
Fixes #1928
- Left and right panes now positioning properly in mobile;
- Fixed body overflow problem for #2008 "viewport" issue;

* fixes multiple issues related to 2008
context menu firing too often - fixed by setting a isDragging flag
Add and Remove respective classes on mobile orientation change by using mathMedia
Close tree pane when navigating in mobile portrait only

* [Frontend] Various

Fixes #2008
- Always show Timeline zoom controls;
- Prevent inline editing of object names in the main view when in
mobile;

* Add touch functionality to mct-drag
it allows users to use the splitter in mobile
and include appropriate tests

* remove couchdb and reinstall localStorage

* [Frontend] Mods to imagery CSS

Fixes #2008
- Reduced size of image thumbnails;
- Changed min-heights of image and thumbnail
holders for .mobile.phone

* [Frontend] Add Advanced CSS property to Display Layouts

- WIP!
- Add property to bundle;
- Add CSS for column, row and fit-all classes;

* [Frontend] Grid holder and class prefixing

- WIP!
- Edit grid-holder set to position: absolute
- Added "fl-" prefix to fluid layout class names;

* [Frontend] More CSS tweaks

- WIP!

* [Frontend] Added .drag-vertical

- For use in Elements pool;
- Applied in elements.html;

* fix: check if stats is present before reseting zoom (#2029)

* [Timer] Fix regression in timer visual indication and add tests

* [TimeConductor] Fixes Issue #925 (#2020)

* [TimeConductor] Fixes Issue #925`
- Pressing enter in date field will update bounds properly in Safari

* [Copyright] Update copyright year across platform code references

Fixes #2034.

* fixes issue #1999 - Use Object name as default export filename (#2001)

* fixes issue #1999
add dynamic name(object name) to exportAsCSV filename

* make requested changes

* [Frontend] Add Advanced CSS property to Display Layouts

- WIP!
- Add property to bundle;
- Add CSS for column, row and fit-all classes;

* [Frontend] Grid holder and class prefixing

- WIP!
- Edit grid-holder set to position: absolute
- Added "fl-" prefix to fluid layout class names;

* [Frontend] More CSS tweaks

- WIP!

* [Frontend] Added .drag-vertical

- For use in Elements pool;
- Applied in elements.html;

* [Frontend] More CSS tweaks

- WIP!
- Added .fl-phone-best-fit

* working drag and switch, need to mutate

* fix conflict

* add ability to rearrange composition using drag gestures

* add maxHeight and maxWidth to layout frames

* [Frontend] Added fl-mobile-best-fit

* [Frontend] Allow editor to set mins dimensions for fluid layout

- Cleanups in CSS;
- Mod to LayoutController.js to use minWidth and minHeight;

* [Frontend] Styles for reordering in Elements pool

- Changed class "dragging" to "reordering";
- Visual styling WIP;
- TODO: style "reorder-actor" when implemented;

* add reorder-actor class to draggable item in elements pool when selected and remove class when dropped

* stacked plots reload on composition change

* [Frontend] Tweaks to Elements pool reordering styles

- "reorder-actor" added/removed from parent tree item;
- Refined styling for drag in process in list;

* [Frontend] Added new 12px list view glyph

- Font files and CSS updates;

* [Frontend] Added new 12px grippy glyph

- Font files and CSS updates for Elements pool sorting styling;

* fix failing test

* make reviewer requested changes

* remove create dialog from mobile
2018-05-25 18:58:49 -07:00
Charles Hacskaylo
c909831dd4 Review and integrate mobile-2008 (#2040)
Fixes #2008
* Viewport metatag updated
* Fix to Time Conductor for Safari
* Remove data visualization element in TC
* Hide TC ticks when on mobile
* Add touch functionality to mct-drag
* Reduced size of image thumbnails; Changed min-heights of image and thumbnail
holders for .mobile.phone
* remove create dialog from mobile
2018-05-25 11:19:27 -07:00
Charles Hacskaylo
e19ce4ac8c [Frontend] Adds overflow scrolling to .l-view-section (#2039)
Fixes #1878
- Add overflow: auto;
- Better naming of $overflow arg;
- Fixed and unit tested in plots and tables;
2018-05-18 10:52:24 -07:00
Deep Tailor
fab1def790 fixes issue #1999 - Use Object name as default export filename (#2001)
* fixes issue #1999
add dynamic name(object name) to exportAsCSV filename

* make requested changes
2018-05-16 13:20:58 -07:00
Pete Richards
28311fd4dd
Merge pull request #2033 from PunkChameleon/fix-timer-indicator
[Timer] Fix regression in timer visual indication and add tests
2018-05-16 13:17:02 -07:00
Nick Weingartner
c55eaeb193 [Copyright] Update copyright year across platform code references
Fixes #2034.
2018-05-14 15:46:17 -07:00
Dhrubomoy Das Gupta
2e6cdfc457 [TimeConductor] Fixes Issue #925 (#2020)
* [TimeConductor] Fixes Issue #925`
- Pressing enter in date field will update bounds properly in Safari
2018-05-11 15:56:27 -07:00
Nick Weingartner
210808ed54 [Timer] Fix regression in timer visual indication and add tests 2018-05-09 17:35:56 -04:00
Charles Hacskaylo
f4271c96a3 Review SCSS refactoring for to-be-deprecated Bourbon functions (#1959)
* [Frontend] Refactor SCSS to remove deprecated @includes

Fixes #1891
- In progress

* [Frontend] Refactor SCSS to remove deprecated @includes

Fixes #1891
Making bourbon happy by refactoring to-be-deprecated
calls to prefixing @includes:
- transform and related CSS;
- flex and related CSS;
- Fixed double semi-colons to single;
2018-04-20 10:18:29 -07:00
Deep Tailor
8c739e9fd9 [Imagery] Issue #1962 - History shows oldest image (#1983)
* force update to latest image when history is received

* force update to latest history image on response received

* remove console log"

* change requestLAD function to last item in array, in case response is an array with more than one item

* fix checkstyle

* remove requestLAD because its requesting history twice in cases where server does not have latest flag
2018-04-20 09:15:25 -07:00
Pegah Sarram
75ae5ab3bb [Toolbar] set selection initially in fixed controller and toolbar... (#1994)
* [Toolbar] set selection initially in fixed controller and toolbar...

... to make the add button appear in the toolbar when a fixed position is created.

Remove selection change listener on destroy.

Start a digest cycle when handling selection in toolbar to avoid delays in toolbar.

Fixes #1991, #1987

* fixed checkstyle and lint errors

* Fix tests

* Update comment
2018-04-20 08:45:29 -07:00
Pete Richards
8db75bf41e [API] Support dynamic telemetry metadata (#1941)
* [API] Support dynamic telemetry metadata

Add support for dynamic telemetry metadata via custom telemetry
metadata providers.  

The metadata provider API should be considered unstable in it's
current invocation.

* Perform deprecation checking at runtime
* SWG uses telemetry metadata provider
* Don't throw with no matched metadata provider
* Update API docs
* Add license header
* Combine metadata providers with general telemetry providers
* Replace `TelemetryAPI.canProvideTelemetry` with
`TelemetryAPI.isTelemetryObject`.  
* CanProvideTelemetry is deprecated
* Change SWG inputs to numberfield
2018-03-21 14:18:08 -07:00
Deep Tailor
39a7f43cd0 Fixes Issue #1938 - Fixed Positon should display enumerated value (#1939)
* Fixes #1938
Fixed usage of Telemetry API, use hints to get valueMetadata, use valueMetadata to get formatter

* dont circumvent chooseTelemetryKeyToDisplay, which was causing a regression when imagery is added to fp

* fix broken tests

* pass valueMetaData to limitEvaluator.evaluate, rename #chooseTelemetryKeyToDisplay to getValueMetadata, to reflect what is returned.
update tests

* change getValueMetadata to chooseValueMetadataToDisplay
2018-03-07 13:49:11 -08:00
Pete Richards
5726fe6313 new-plot import (#1557)
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
2018-03-02 14:29:34 -08:00
Pegah Sarram
e5d869f01e [Layout] Select the fixed position view only if the parent is not selected.
Also, add mutation listener if domain object is defined to fix the TypeError.

Fixes # 1909 and #1912
2018-02-13 13:23:49 -08:00
Deep Tailor
3669e776a9 add parameter for background color, only change color when parameter is passed in (export image service is used in notebook which needs the background color not changed
added tests
2018-02-05 10:46:56 -08:00
Deep Tailor
9b8d5f3f9c Switch to white background during export
* Defaulted background option to white for PNG/JPG export

* Attempt at fixing background colour on image output

* Reverted build location change

* WIP for white background

* WIP for white background

* Updating default colour, including saving of existing colour to restore appropriately

* Fix tests and move css change background outside the try block

* keep consistent with american english

* add method to change background color and test wether it has been called with the right params

* change color to original when save fails

Fixes #1422
2018-01-16 09:32:49 -08:00
Pegah Sarram
54a453e5a0 Fix checkstyle error 2018-01-10 15:16:04 -08:00
Pegah Sarram
14894cf197 [Fixed Position] Modify fixed position to use the Selection API
Change method name to shouldSelect() as requested by the reviewer.

Fix tests.

Fixes #1848
2018-01-10 15:16:04 -08:00