* only store identifiers in frames
* move drop hints outside frame
* fix resizing
* fix drag and drop frames
* fix reordering of columns
* multiple improvements
* fix styling for drop hint in empty container
* fix frame reorder in same column
* better drop target show logic
* better frame drop to logic
* fix container reordering
* add uuids for frames and containers to prevent clashing
* toolbar updates
* use shared subobject component to ease styling
* add type cssClass to subobject component header, and delete frame header vue file
* add context menu in subobject views
* change height and width to size for both frames and containers
* remove uneccesary methods from resizeHanfle and inline logic instead
* remove left click logic from context-menu mixin, add a click handler to dropDownContextMenu to show menu
* make a mixin to listen for isEditing
* encapsulate drop hints, and pass allowDrop logic to check if drop hint is valid
* use event.dataTransfer instead of vue events for container reordering
* remove vue events for frame dnd and use html events
* better implementation of toolbar
* remove unused event
* fix container resizing when adding new container
* make reviewer requested changes
* add containerId to event vs having a JSON object
* watch domainObject from flexible layouts and pass down to components
* change domainObject directly on add Container
* update domainObject on change, and cahnge toolBarProvider to function that returns an object
* fix plugin
* set domainObject as data property in felxibleLayouts
* use class instead of inline styles
* Cleanup code
inline this.$el for components that measure their own size
replace snapToPercentage with Math.round
inject object as layoutObject, not dObject.
* reuse sizing logic between frames and containers
* clean up handlers
split handlers for createFrame and moveFrame events in container.
reorganize methods for each to clarify how they operate.
* ObjectView only stops propagation when it handles event
* use ids in toolbar to ensure correct items are mutated
Because index may change due to drag and drop events,
deleteFrame and deleteContainer should operate using identifiers
instead of index.
Also, generate path for hasFrame using indexes when object is
selected, otherwise hasFrame may refer to the incorrect path.
* - 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.
* Support displaying and adding telemerty points in display layouts.
* Create TelemetryView component. Also disable the toolbar frame button for telemetry objects.
* Add 'components' directory and move the toolbar provider definition to a separate file.
* Saving work
* Saving work
* Saving work
* Fix telemetryClass
* Fixes for .no-frame in new markup structure
- CSS cleaned up and reorganized;
- Added .c-telemetry-view classes;
* Add computed properties for hiding label and value.
* Filter value meta data based on the item config display mode.
* Add drop down menus for display mode and value
* Add toolbar controls for telemerty points
* Set border and fill related styles on telemetry view instead of layout item
* Refinements to telemetry view
- Stoke and fill styling now work;
- Internal element layout now much better when sizing in a Layout frame;
- Tweaked color of frame border while editing;
* Prevents adding a new (panel) object if it's already in the composition.
* Fix for jumping edit area
- Removed v-if from Toolbar.vue;
- Refined c-toolbar styling;
- TODO: don't include toolbar component when not editing, and for
components that don't use a toolbar;
* Add a separator toolbar control
* Check for domainObject being on the toolbar item as not all controls have that property
* Hide 'no fill' option from the text palette.
Modify the color-picker component to say 'No border' for stroke palette.
* Move the listener for hasFrame to the subobject view configuration
* Fixes for toolbar-separator
- New mixin;
- Corrected markup for separator;
- New class for .c-toolbar__separator;
- Updated DisplayLayoutToolbar.js to include separators in the right
spots;
* Get type from item.
* Include copyright notice.
* Use arrow function for consistency and define a TEXT_SIZE constant.
* Use composition API to add non-telemetry objects instead of relying on the drop handler.
Display a blocking dialog if an existing non-telemetry object is dropped.
* Fix text color picker icon
* Address reviewer's feedback
* Load the composition and update addObject() to render existing panels as well. Also, cache the telemetry value formatter.
* Add listener for changes to time bounds.
* Code cleanup
* Use getFormatMap() to store formats. Reset telemetry value and class before fetching new data.
* Fix a typo
* Define telemetry class and value as computed properties.
* Change context object definition
* Look at the telemetry metadata to find a good default for the value key instead of defaulting to 'sin'. Also, make formats reactive.
* Use let instead of var.