* - 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.
* 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
* Initial attempt at getting the toolbar for the fixed position working with the Vue toolbar controls.
* Set title for controls
* Significant mods to support legacy Fixed Position
- Moved selection and editing styles into _global.scss;
- Changed class naming in legacy fixed.html to map to newer CSS styles;
* Pass in the color value
* Do not show the toolbar container if structure is empty.
* Use a plugin for fixed position to get access to openmct. Show the toolbar only if the object is being edited.
* Ensure fixedController is on the selection context when editing
* Add listener for a domain object with the same id only once.
Update the toolbar value after the object mutation.
Remove editor isEditing listener on destroyed.
* Remove space between the size and px.
If newObject exists, update the toolbar value.
* Remove --nwse class name which seems to be a typo
* use modifier convention
* Add a toolbar provider for display layout.
* Move toolbar provider to the plugin
* basic toolbar generation
* componentize different toolbar control types
Break toolbar control types down into different parts and provide
a test toolbar generator in index.html that utilizes all the
controls.
* Get the 'Show frame' checkbox working in the toolbar
* - Remove extra listener.
- Display toolbar only when editing.
* Modify the Selection API to set s-selected and s-selected-parent attributes instead of adding to the css class names.
* Move the logic for allowing the toolbar in the edit mode to the provider.
* Use toggle-button component to toggle frame
* Delete old files
* Remove MCTToolbar
* Modify the toggle button component to return the computed value
* Remove reload=true
* Revert to the original setting
* use value from props
* Always update toolbars on edit status change
* restore fixed position bundle
* bring back reload when hmr unavailable
* 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.
* [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
Change the input for grid units/pixels to a simple checkbox toggle from a
dropdown menu.
Add a new specialized AccessorMutator class to support this operation.
Fix code style issues per Victor's review
Add toggle to work in pixel space or grid space, per the issue description.
Each element stores a boolean property that determines whether or not it
snaps to grid space or pixel space. Coordinates are converted between spaces
on toggle, preserving the size of the element in pixels.
To complete: change UI element for toggle to a checkbox.
Added individual property inputs to the toolbar for height, width, x,
y, and line endpoint coordinates in fixed/bundle.js.
Added "edit<Property>" AccessorMutators for height and width to each
of the element proxies, so these properties can be exposed only for
elements where it makes sense (e.g. boxes, but not lines, since lines
are better controlled by endpoint coordinates).
Added a method "checkNumeric" to ElementProxy.js , to be used
to restrict inputs to integral values for position and size
textfield inputs.
Current issues: endpoint coordinate inputs have undexpected behvaior,
handles disappear after using the input fields to modify element
properties.
Added individual property inputs to the toolbar for height, width, x,
y, and line endpoint coordinates in fixed/bundle.js.
Added "edit<Property>" AccessorMutators for height and width to each
of the element proxies, so these properties can be exposed only for
elements where it makes sense (e.g. boxes, but not lines, since lines
are better controlled by endpoint coordinates).
Added a method "checkNumeric" to ElementProxy.js , to be used
to restrict inputs to integral values for position and size
textfield inputs.
Current issues: endpoint coordinate inputs have undexpected behvaior,
handles disappear after using the input fields to modify element
properties.