2018-10-03 00:31:45 +00:00
|
|
|
/*****************************************************************************
|
|
|
|
* Open MCT, Copyright (c) 2014-2018, United States Government
|
|
|
|
* as represented by the Administrator of the National Aeronautics and Space
|
|
|
|
* Administration. All rights reserved.
|
|
|
|
*
|
|
|
|
* Open MCT is licensed under the Apache License, Version 2.0 (the
|
|
|
|
* "License"); you may not use this file except in compliance with the License.
|
|
|
|
* You may obtain a copy of the License at
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0.
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
|
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
|
|
* License for the specific language governing permissions and limitations
|
|
|
|
* under the License.
|
|
|
|
*
|
|
|
|
* Open MCT includes source code licensed under additional open source
|
|
|
|
* licenses. See the Open Source Licenses file (LICENSES.md) included with
|
|
|
|
* this source code distribution or the Licensing information page available
|
|
|
|
* at runtime from the About dialog for additional information.
|
|
|
|
*****************************************************************************/
|
|
|
|
|
|
|
|
/********* Buttons */
|
|
|
|
// Optionally can include icon in :before via markup
|
|
|
|
button {
|
2018-10-04 21:47:12 +00:00
|
|
|
@include htmlInputReset();
|
|
|
|
}
|
|
|
|
|
|
|
|
.c-button,
|
|
|
|
.c-button--menu {
|
2018-10-03 00:31:45 +00:00
|
|
|
@include cButton();
|
2018-09-11 17:10:59 +00:00
|
|
|
}
|
|
|
|
|
2018-12-20 21:17:44 +00:00
|
|
|
.c-button {
|
|
|
|
&--menu {
|
|
|
|
&:after {
|
|
|
|
content: $glyph-icon-arrow-down;
|
|
|
|
font-family: symbolsfont;
|
|
|
|
opacity: 0.5;
|
|
|
|
}
|
2018-09-11 17:10:59 +00:00
|
|
|
}
|
2018-10-03 00:31:45 +00:00
|
|
|
}
|
2018-09-13 22:14:28 +00:00
|
|
|
|
2018-10-26 21:14:00 +00:00
|
|
|
.c-compact-button {
|
|
|
|
@include cCompactButtons($bg: $colorBtnBg, $fg: $colorBtnFg, $bgHov: $colorBtnBgHov);
|
|
|
|
}
|
|
|
|
|
2018-10-03 00:31:45 +00:00
|
|
|
/********* Icon Buttons */
|
2018-12-20 21:17:44 +00:00
|
|
|
.c-click-icon,
|
|
|
|
.c-click-swatch {
|
2018-10-03 00:31:45 +00:00
|
|
|
@include cClickIcon();
|
|
|
|
|
|
|
|
&--menu {
|
|
|
|
&:after {
|
|
|
|
content: $glyph-icon-arrow-down;
|
|
|
|
font-family: symbolsfont;
|
2018-12-20 21:17:44 +00:00
|
|
|
font-size: 0.7em;
|
2018-10-03 00:31:45 +00:00
|
|
|
margin-left: floor($interiorMarginSm * 0.8);
|
|
|
|
opacity: 0.5;
|
2018-09-13 22:14:28 +00:00
|
|
|
}
|
2018-10-03 00:31:45 +00:00
|
|
|
}
|
2018-12-20 21:17:44 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
.c-click-icon {
|
|
|
|
.c-click-icon__label {
|
|
|
|
margin-left: $interiorMargin;
|
|
|
|
}
|
2018-09-13 22:14:28 +00:00
|
|
|
|
2018-10-03 00:31:45 +00:00
|
|
|
&--swatched {
|
|
|
|
// Color control, show swatch element
|
|
|
|
display: flex;
|
|
|
|
flex-flow: column nowrap;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: center;
|
|
|
|
|
|
|
|
> [class*='swatch'] {
|
|
|
|
box-shadow: inset rgba(black, 0.2) 0 0 1px;
|
|
|
|
flex: 0 0 auto;
|
|
|
|
height: 4px;
|
|
|
|
width: 100%;
|
|
|
|
margin-top: 1px;
|
2018-09-13 22:14:28 +00:00
|
|
|
}
|
|
|
|
|
2018-10-03 00:31:45 +00:00
|
|
|
&:before {
|
|
|
|
// Reduce size of icon to make a bit of room
|
|
|
|
flex: 1 1 auto;
|
|
|
|
font-size: 1.1em;
|
2018-09-13 22:14:28 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/******************************************************** DISCLOSURE CONTROLS */
|
|
|
|
/********* Disclosure Button */
|
|
|
|
// Provides a downward arrow icon that when clicked displays a context menu
|
|
|
|
// Always placed AFTER an element
|
|
|
|
.c-disclosure-button {
|
2018-10-03 00:31:45 +00:00
|
|
|
@include cClickIcon();
|
2018-09-13 22:14:28 +00:00
|
|
|
margin-left: $interiorMarginSm;
|
|
|
|
|
|
|
|
&:before {
|
|
|
|
content: $glyph-icon-arrow-down;
|
|
|
|
font-family: symbolsfont;
|
|
|
|
font-size: 0.7em;
|
|
|
|
}
|
2018-09-11 17:10:59 +00:00
|
|
|
}
|
2018-10-10 19:45:46 +00:00
|
|
|
/********* Disclosure Triangle */
|
2018-09-13 22:14:28 +00:00
|
|
|
// Provides an arrow icon that when clicked expands an element to reveal its contents.
|
2018-12-18 19:07:09 +00:00
|
|
|
// Used in tree items, plot legends. Always placed BEFORE an element.
|
2018-09-13 22:14:28 +00:00
|
|
|
.c-disclosure-triangle {
|
|
|
|
$d: 12px;
|
2018-12-18 19:07:09 +00:00
|
|
|
color: $colorDisclosureCtrl;
|
2018-09-13 22:14:28 +00:00
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: center;
|
|
|
|
flex: 0 0 auto;
|
|
|
|
width: $d;
|
|
|
|
position: relative;
|
|
|
|
|
2018-12-18 19:07:09 +00:00
|
|
|
&.is-enabled {
|
|
|
|
cursor: pointer;
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
color: $colorDisclosureCtrlHov;
|
|
|
|
}
|
|
|
|
|
|
|
|
&:before {
|
|
|
|
$s: .65;
|
|
|
|
content: $glyph-icon-arrow-right-equilateral;
|
|
|
|
display: block;
|
|
|
|
font-family: symbolsfont;
|
|
|
|
font-size: 1rem * $s;
|
|
|
|
transform-origin: center;
|
|
|
|
transition: transform 100ms ease-in-out;
|
|
|
|
}
|
2018-09-13 22:14:28 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
&--expanded {
|
|
|
|
&:before {
|
|
|
|
transform: rotate(90deg);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/******************************************************** FORM ELEMENTS */
|
2018-10-10 19:45:46 +00:00
|
|
|
input, textarea {
|
|
|
|
font-family: inherit;
|
|
|
|
font-weight: inherit;
|
|
|
|
letter-spacing: inherit;
|
|
|
|
}
|
2018-09-13 22:14:28 +00:00
|
|
|
|
2018-10-10 19:45:46 +00:00
|
|
|
input[type=text],
|
|
|
|
input[type=search],
|
2018-11-07 17:58:33 +00:00
|
|
|
input[type=number],
|
|
|
|
textarea {
|
2018-10-10 19:45:46 +00:00
|
|
|
@include reactive-input();
|
|
|
|
padding: $inputTextP;
|
|
|
|
&.numeric {
|
|
|
|
text-align: right;
|
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 22:59:23 +00:00
|
|
|
}
|
2018-10-03 00:31:45 +00:00
|
|
|
}
|
|
|
|
|
2018-10-10 19:45:46 +00:00
|
|
|
input[type=number]::-webkit-inner-spin-button,
|
|
|
|
input[type=number]::-webkit-outer-spin-button {
|
|
|
|
margin-right: -5px !important;
|
|
|
|
margin-top: -1px !important;
|
|
|
|
}
|
2018-10-03 00:31:45 +00:00
|
|
|
|
2018-10-10 19:45:46 +00:00
|
|
|
.c-input {
|
2018-12-20 21:17:44 +00:00
|
|
|
&--flex {
|
|
|
|
width: 100%;
|
|
|
|
min-width: 20px;
|
|
|
|
}
|
|
|
|
|
2018-10-10 19:45:46 +00:00
|
|
|
&--datetime {
|
|
|
|
// Sized for values such as 2018-09-28 22:32:33.468Z
|
|
|
|
width: 160px;
|
2018-09-13 22:14:28 +00:00
|
|
|
}
|
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 22:59:23 +00:00
|
|
|
|
2018-10-10 19:45:46 +00:00
|
|
|
&--hrs-min-sec {
|
|
|
|
// Sized for values such as 00:25:00
|
|
|
|
width: 60px;
|
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 22:59:23 +00:00
|
|
|
}
|
|
|
|
|
2018-10-10 19:45:46 +00:00
|
|
|
&-inline,
|
|
|
|
&--inline {
|
|
|
|
// A text input or contenteditable element that indicates edit affordance on hover and looks like an input on focus
|
|
|
|
@include reactive-input($bg: transparent);
|
|
|
|
box-shadow: none;
|
|
|
|
display: block !important;
|
|
|
|
min-width: 0;
|
|
|
|
padding-left: 0;
|
|
|
|
padding-right: 0;
|
|
|
|
overflow: hidden;
|
|
|
|
transition: all 250ms ease;
|
|
|
|
white-space: nowrap;
|
|
|
|
|
|
|
|
&:not(:focus) {
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
}
|
|
|
|
|
|
|
|
&:hover,
|
|
|
|
&:focus {
|
|
|
|
background: $colorInputBg;
|
|
|
|
padding-left: $inputTextPLeftRight;
|
|
|
|
padding-right: $inputTextPLeftRight;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&--labeled {
|
|
|
|
// TODO: replace .c-labeled-input with this
|
|
|
|
// An input used in the Toolbar
|
|
|
|
// Assumes label is before the input
|
|
|
|
@include cControl();
|
|
|
|
|
|
|
|
input {
|
|
|
|
margin-left: $interiorMarginSm;
|
|
|
|
}
|
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 22:59:23 +00:00
|
|
|
}
|
2018-10-03 00:31:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
.c-labeled-input {
|
|
|
|
// An input used in the Toolbar
|
|
|
|
// Assumes label is before the input
|
|
|
|
@include cControl();
|
|
|
|
|
|
|
|
input {
|
|
|
|
margin-left: $interiorMarginSm;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-01-25 20:50:16 +00:00
|
|
|
// SELECTS
|
|
|
|
select {
|
|
|
|
@include appearanceNone();
|
|
|
|
@include themedSelect();
|
|
|
|
background-repeat: no-repeat, no-repeat;
|
|
|
|
background-position: right .4em top 80%, 0 0;
|
|
|
|
border: none;
|
|
|
|
border-radius: $controlCr;
|
|
|
|
padding: 1px 20px 1px $interiorMargin;
|
|
|
|
}
|
|
|
|
|
2018-10-03 00:31:45 +00:00
|
|
|
/******************************************************** HYPERLINKS AND HYPERLINK BUTTONS */
|
|
|
|
.c-hyperlink {
|
|
|
|
&--link {
|
|
|
|
color: $colorKey;
|
|
|
|
}
|
|
|
|
|
|
|
|
&--button {
|
|
|
|
@include cButton();
|
2018-09-13 22:14:28 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/******************************************************** MENUS */
|
2018-09-11 17:10:59 +00:00
|
|
|
@mixin menuOuter() {
|
|
|
|
border-radius: $basicCr;
|
|
|
|
background: $colorMenuBg;
|
|
|
|
text-shadow: $shdwMenuText;
|
|
|
|
padding: $interiorMarginSm;
|
|
|
|
box-shadow: $shdwMenu;
|
|
|
|
display: block;
|
|
|
|
position: absolute;
|
2018-12-12 03:25:20 +00:00
|
|
|
z-index: 100;
|
2018-09-11 17:10:59 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@mixin menuInner() {
|
|
|
|
li {
|
2018-10-03 00:31:45 +00:00
|
|
|
@include cControl();
|
|
|
|
justify-content: start;
|
2018-09-11 17:10:59 +00:00
|
|
|
color: $colorMenuFg;
|
2018-10-03 00:31:45 +00:00
|
|
|
cursor: pointer;
|
2018-09-11 17:10:59 +00:00
|
|
|
display: flex;
|
|
|
|
padding: nth($menuItemPad, 1) nth($menuItemPad, 2);
|
|
|
|
transition: $transIn;
|
|
|
|
white-space: nowrap;
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
background: $colorMenuHovBg;
|
|
|
|
color: $colorMenuHovFg;
|
|
|
|
&:before {
|
|
|
|
color: $colorMenuHovIc;
|
|
|
|
}
|
|
|
|
}
|
2018-12-20 21:17:44 +00:00
|
|
|
|
2018-09-11 17:10:59 +00:00
|
|
|
&:before {
|
|
|
|
color: $colorMenuIc;
|
|
|
|
font-size: 1em;
|
|
|
|
margin-right: $interiorMargin;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.c-menu {
|
|
|
|
@include menuOuter();
|
|
|
|
@include menuInner();
|
|
|
|
}
|
|
|
|
|
|
|
|
.c-super-menu {
|
|
|
|
// Two column layout, menu items on left with detail of hover element on right
|
|
|
|
@include menuOuter();
|
|
|
|
display: flex;
|
|
|
|
padding: $interiorMarginLg;
|
|
|
|
flex-direction: row;
|
|
|
|
|
|
|
|
> [class*="__"] {
|
|
|
|
$m: $interiorMarginLg;
|
|
|
|
flex: 1 1 50%;
|
|
|
|
&:first-child {
|
|
|
|
margin-right: $m;
|
|
|
|
}
|
|
|
|
|
|
|
|
&:last-child {
|
|
|
|
border-left: 1px solid $colorInteriorBorder;
|
|
|
|
padding-left: $m;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&__menu {
|
|
|
|
@include menuInner();
|
|
|
|
overflow: auto;
|
|
|
|
|
|
|
|
ul {
|
|
|
|
margin-right: $interiorMarginSm; // Fend off scrollbar
|
|
|
|
}
|
|
|
|
|
|
|
|
li {
|
|
|
|
border-radius: $controlCr;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&__item-description {
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
justify-content: stretch;
|
|
|
|
|
|
|
|
.l-item-description {
|
|
|
|
&__name,
|
|
|
|
&__description {
|
|
|
|
margin-top: $interiorMarginLg;
|
|
|
|
}
|
|
|
|
|
|
|
|
&__icon {
|
|
|
|
min-height: 20%;
|
|
|
|
margin: 10% 25%;
|
|
|
|
}
|
|
|
|
|
|
|
|
&__name {
|
2018-10-10 19:45:46 +00:00
|
|
|
color: $colorMenuFg;
|
2018-09-11 17:10:59 +00:00
|
|
|
flex: 0 0 auto;
|
|
|
|
font-size: 1.25em;
|
|
|
|
}
|
|
|
|
|
|
|
|
&__description {
|
|
|
|
font-size: $fontBaseSize;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-10-03 00:31:45 +00:00
|
|
|
/******************************************************** PALETTES */
|
|
|
|
.c-palette {
|
|
|
|
display: flex;
|
|
|
|
flex-flow: column nowrap;
|
|
|
|
|
|
|
|
&__items {
|
|
|
|
flex: 1 1 auto;
|
|
|
|
display: grid;
|
2018-12-20 21:17:44 +00:00
|
|
|
grid-template-columns: repeat(auto-fill, 12px);
|
2018-10-03 00:31:45 +00:00
|
|
|
grid-gap: 1px;
|
|
|
|
}
|
|
|
|
|
|
|
|
&__item {
|
2018-12-20 21:17:44 +00:00
|
|
|
$d: 12px;
|
2018-10-03 00:31:45 +00:00
|
|
|
|
|
|
|
border: 1px solid transparent;
|
|
|
|
cursor: pointer;
|
2018-12-20 21:17:44 +00:00
|
|
|
min-width: $d; min-height: $d;
|
2018-10-03 00:31:45 +00:00
|
|
|
transition: $transOut;
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
transition: $transIn;
|
|
|
|
$o: 0.7;
|
|
|
|
border-color: rgba($paletteItemBorderOuterColorSelected, $o);
|
|
|
|
box-shadow: inset rgba($paletteItemBorderInnerColorSelected, $o) 0 0 0 1px;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.is-selected {
|
|
|
|
border-color: $paletteItemBorderOuterColorSelected !important;
|
|
|
|
border-width: 2px;
|
|
|
|
box-shadow: inset rgba($paletteItemBorderInnerColorSelected, 1) 0 0 0 1px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&__item-none {
|
|
|
|
flex: 0 0 auto;
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
margin-bottom: $interiorMarginSm;
|
|
|
|
|
|
|
|
.c-palette__item {
|
|
|
|
@include noColor();
|
|
|
|
border-color: $paletteItemBorderInnerColor;
|
|
|
|
margin-right: $interiorMarginSm;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-12-20 21:17:44 +00:00
|
|
|
/******************************************************** SWATCHES */
|
|
|
|
.c-color-swatch {
|
|
|
|
border: 1px solid rgba(#fff, 0.2);
|
|
|
|
box-shadow: rgba(#000, 0.2) 0 0 0 1px;
|
|
|
|
}
|
|
|
|
|
2018-10-03 00:31:45 +00:00
|
|
|
/******************************************************** TOOLBAR */
|
|
|
|
.c-ctrl-wrapper {
|
|
|
|
@include cCtrlWrapper();
|
|
|
|
}
|
|
|
|
|
|
|
|
.c-toolbar,
|
|
|
|
.c-toolbar .c-ctrl-wrapper {
|
|
|
|
display: flex;
|
|
|
|
align-items: stretch;
|
|
|
|
}
|
|
|
|
|
2018-11-09 01:09:17 +00:00
|
|
|
@mixin cToolbarSeparator() {
|
2019-01-25 20:50:16 +00:00
|
|
|
$m: 1px;
|
2018-11-09 01:09:17 +00:00
|
|
|
$b: 1px;
|
|
|
|
display: block;
|
|
|
|
width: $m + $b; // Allow for border
|
|
|
|
border-right: $b solid $colorInteriorBorder;
|
|
|
|
margin-right: $m;
|
|
|
|
}
|
|
|
|
|
2018-10-03 00:31:45 +00:00
|
|
|
.c-toolbar {
|
2018-11-09 01:09:17 +00:00
|
|
|
$p: $interiorMargin;
|
2019-01-22 19:52:56 +00:00
|
|
|
background: $editUIBaseColor;
|
|
|
|
border-radius: $basicCr;
|
2018-11-09 01:09:17 +00:00
|
|
|
height: $p + 24px; // Need to standardize the height
|
2019-01-22 19:52:56 +00:00
|
|
|
padding: $p;
|
2018-11-09 01:09:17 +00:00
|
|
|
|
2019-01-25 20:50:16 +00:00
|
|
|
> * + * {
|
|
|
|
margin-left: 2px;
|
|
|
|
}
|
|
|
|
|
2018-11-09 01:09:17 +00:00
|
|
|
&__separator {
|
|
|
|
@include cToolbarSeparator();
|
|
|
|
}
|
2018-10-03 00:31:45 +00:00
|
|
|
|
2019-01-22 19:52:56 +00:00
|
|
|
.c-click-icon,
|
|
|
|
.c-labeled-input {
|
|
|
|
color: $editUIBaseColorFg;
|
|
|
|
}
|
|
|
|
|
2018-10-03 00:31:45 +00:00
|
|
|
.c-click-icon {
|
|
|
|
@include cControl();
|
|
|
|
$pLR: $interiorMargin - 1;
|
|
|
|
$pTB: 2px;
|
|
|
|
padding: $pTB $pLR;
|
|
|
|
|
2019-01-22 19:52:56 +00:00
|
|
|
&:hover {
|
|
|
|
background: $editUIBaseColorHov !important;
|
|
|
|
color: $editUIBaseColorFg !important;
|
|
|
|
}
|
|
|
|
|
2018-10-03 00:31:45 +00:00
|
|
|
&--swatched {
|
|
|
|
padding-bottom: floor($pTB / 2);
|
|
|
|
width: 2em; // Standardize the width
|
|
|
|
}
|
|
|
|
|
|
|
|
&[class*='--caution'] {
|
|
|
|
&:before {
|
|
|
|
color: $colorBtnCautionBg;
|
|
|
|
}
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
background: rgba($colorBtnCautionBgHov, 0.2);
|
|
|
|
:before {
|
|
|
|
color: $colorBtnCautionBgHov;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.c-labeled-input {
|
|
|
|
font-size: 0.9em;
|
|
|
|
input[type='number'] {
|
|
|
|
width: 40px; // Number input sucks and must have size set using this method
|
|
|
|
}
|
|
|
|
|
|
|
|
+ .c-labeled-input {
|
|
|
|
margin-left: $interiorMargin;
|
|
|
|
}
|
|
|
|
}
|
2018-12-20 21:17:44 +00:00
|
|
|
|
|
|
|
.c-palette {
|
|
|
|
min-width: 136px;
|
|
|
|
}
|
2018-10-03 00:31:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/********* Button Sets */
|
|
|
|
.c-button-set {
|
|
|
|
// When one set is adjacent to another, provides a divider between
|
|
|
|
|
|
|
|
display: inline-flex;
|
|
|
|
flex: 0 0 auto;
|
|
|
|
|
|
|
|
> * {
|
|
|
|
// Assume buttons are immediate descendants
|
|
|
|
flex: 0 0 auto;
|
|
|
|
}
|
|
|
|
|
|
|
|
+ .c-button-set {
|
|
|
|
&:before {
|
2018-11-09 01:09:17 +00:00
|
|
|
@include cToolbarSeparator();
|
2018-10-03 00:31:45 +00:00
|
|
|
content: '';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&[class*='--strip'] {
|
|
|
|
// Buttons are smashed together with minimal margin
|
|
|
|
// c-buttons don't have border-radius between buttons, creates a tool-button-strip look
|
|
|
|
// c-click-icons get grouped more closely together
|
|
|
|
&[class^="c-button"] {
|
|
|
|
// Only apply the following to buttons that have background, eg. c-button
|
|
|
|
border-radius: 0;
|
|
|
|
|
|
|
|
+ * {
|
|
|
|
margin-left: 1px;
|
|
|
|
}
|
|
|
|
|
|
|
|
&:first-child {
|
|
|
|
border-top-left-radius: $controlCr;
|
|
|
|
border-bottom-left-radius: $controlCr;
|
|
|
|
}
|
|
|
|
|
|
|
|
&:last-child {
|
|
|
|
border-top-right-radius: $controlCr;
|
|
|
|
border-bottom-right-radius: $controlCr;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2018-10-10 19:45:46 +00:00
|
|
|
|
|
|
|
/***************************************************** SLIDERS */
|
|
|
|
.c-slider {
|
|
|
|
@include cControl();
|
|
|
|
> * + * { margin-left: $interiorMargin; }
|
|
|
|
}
|
2018-10-26 21:14:00 +00:00
|
|
|
|
2018-12-18 19:07:09 +00:00
|
|
|
|
|
|
|
/******************************************************** SLIDERS AND RANGE */
|
|
|
|
@mixin sliderKnobRound() {
|
|
|
|
$h: 12px;
|
|
|
|
@include themedButton();
|
|
|
|
cursor: pointer;
|
|
|
|
width: $h;
|
|
|
|
height: $h;
|
|
|
|
border-radius: 50% !important;
|
|
|
|
transform: translateY(-42%);
|
|
|
|
}
|
|
|
|
|
|
|
|
input[type="range"] {
|
|
|
|
// HTML5 range inputs
|
|
|
|
-webkit-appearance: none; /* Hides the slider so that custom slider can be made */
|
|
|
|
background: transparent; /* Otherwise white in Chrome */
|
|
|
|
&:focus {
|
|
|
|
outline: none; /* Removes the blue border. */
|
|
|
|
}
|
|
|
|
|
|
|
|
// Thumb
|
|
|
|
&::-webkit-slider-thumb {
|
|
|
|
-webkit-appearance: none;
|
|
|
|
@include sliderKnobRound();
|
|
|
|
}
|
|
|
|
&::-moz-range-thumb {
|
|
|
|
border: none;
|
|
|
|
@include sliderKnobRound();
|
|
|
|
}
|
|
|
|
&::-ms-thumb {
|
|
|
|
border: none;
|
|
|
|
@include sliderKnobRound();
|
|
|
|
}
|
|
|
|
|
|
|
|
// Track
|
|
|
|
&::-webkit-slider-runnable-track {
|
|
|
|
width: 100%;
|
|
|
|
height: 3px;
|
|
|
|
@include sliderTrack();
|
|
|
|
}
|
|
|
|
|
|
|
|
&::-moz-range-track {
|
|
|
|
width: 100%;
|
|
|
|
height: 3px;
|
|
|
|
@include sliderTrack();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-10-26 21:14:00 +00:00
|
|
|
/***************************************************** DRAG AND DROP */
|
|
|
|
.c-drop-hint {
|
|
|
|
// Used in Tabs View, Flexible Grid Layouts
|
|
|
|
@include abs();
|
|
|
|
background-color: $colorDropHintBg;
|
|
|
|
color: $colorDropHintFg;
|
|
|
|
border-radius: $basicCr;
|
|
|
|
border: 1px dashed $colorDropHintFg;
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
justify-content: center;
|
|
|
|
align-items: center;
|
|
|
|
transition: $transOut;
|
|
|
|
z-index: 50;
|
|
|
|
|
Flexible Layout (#2201)
* first cut of flexible layout
* better drag handling
* add drop targets to every row
* enable drag and drop between columns and rows
* enable persistance
* add editing capability
* chage rows to frames and columns to containers, switch draggable to whole frame object
* Merge latest, resolve conflicts.
Need to just apply these changes to Deep's branch and push
* enhancements to drag targets
* WIP in flexibleLayout, container.vue files
- Refined classes and markup;
- min-width changed to flex-basis;
- Added toggle direction button;
* Significant progress but still WIP
- Refined classes and markup;
- Layout toggling working;
- Add Container working properly;
- TODOs: fix sizing in empty container, fix bordering, more refinements;
* add resizing of frames - still wip
* Significant enhancements
- Moved all CSS into flexibleLayout.vue;
- Layout now improved for empty container and drop hints;
- Proportional sizing now better for frames and containers;
* Resize handle WIP
* abstract splitter and logic into self contained component that will emit an event when mouse is moving
* Resize handle WIP
- Minor tweak to handle padding and hover;
* add container resize todo persist
* persist container resize
* add frame header, fix column resize on last column
* Refinements to resize-handle
- Fixed sizing;
- Transition on hover;
- TODOs: needs is-dragging to maintain hover style while dragging;
* fix drop hints showing after drop
* move header
* improve mouse move gesture
* Added frame size indicator
* add snapto functionality
* Refined container and frame size indicators
- Also added overflow handling to l-grid-view
* improve resizing logic
* add selection on frames
* Various resizing-frames related
- Fixed overflow - now frame widths can be collapsed to 5% minimum;
- Sizing indicators refined, better positioning and layout;
- Added grippy drag indicators to column heads;
- TODOs: add column head cursors and hover effects, hide indicators
when not in edit mode, handle nested layout and flex layouts while
editing
* Selecting and emtpy layout messaging
- Better empty layout message;
- Moved s-selected to proper element in c-fl-frame;
* Drop-hint and sizing related various
- Drop-hints for first placeholder container now display;
- Drop-hints moved into drag-wrapper;
* add delete frame
* Editing various
- Adjust Snow theme constants related to editing;
- Changed delete message wording;
* Updated icon and added description
* add toggle and remove container to toolbar
* miscellaneous cleanup
* add container button to toolbar
* improve toolbar
* code cleanup in plugin.js
* Various icons, toolbar separator
- Copied in c-toolbar__separator and associated changes in _controls
from Pegah's layout_alpha branch - may have conflicts later.
- Added separator to FL toolbar;
- Updated icons for grippy-ew, toolbar icons;
* add check for empty containers"
* logic to resize frames on drop
* fix delete frame and persisting toolbar
* Significant changes to edit / selection styling
- Both Flexible and fixed Display Layouts addressed;
- Both themes addressed;
- Changed drop-hint icon to icon-plus;
* add correct icons to frame header and fix toolbars showing up in wrong views
* Moving and resizing various
- Cursors;
- Grippy added to frame resize-handle, WIP!;
* add container reordering
* add frame/no frame support to toolbar'
* fix regression of resize handles showing after last frame in container
* force selection of flexible-layout when editing is first clicked, to apply correct toolbar
* make changes to simplify toolbar
* Modified sizing algorithm slightly
* make changes reviewer requested
* fix regression that causes top drop hint to not show
* remove unused variables and bind events to vue
* unsub selection before destroy
2018-11-09 01:17:14 +00:00
|
|
|
&:not(.c-drop-hint--always-show) {
|
|
|
|
opacity: 0; // Must use this (rather than display: none) to enable transition effects
|
|
|
|
pointer-events: none;
|
|
|
|
}
|
2018-10-26 21:14:00 +00:00
|
|
|
|
|
|
|
&:before {
|
|
|
|
$h: 80%;
|
Flexible Layout (#2201)
* first cut of flexible layout
* better drag handling
* add drop targets to every row
* enable drag and drop between columns and rows
* enable persistance
* add editing capability
* chage rows to frames and columns to containers, switch draggable to whole frame object
* Merge latest, resolve conflicts.
Need to just apply these changes to Deep's branch and push
* enhancements to drag targets
* WIP in flexibleLayout, container.vue files
- Refined classes and markup;
- min-width changed to flex-basis;
- Added toggle direction button;
* Significant progress but still WIP
- Refined classes and markup;
- Layout toggling working;
- Add Container working properly;
- TODOs: fix sizing in empty container, fix bordering, more refinements;
* add resizing of frames - still wip
* Significant enhancements
- Moved all CSS into flexibleLayout.vue;
- Layout now improved for empty container and drop hints;
- Proportional sizing now better for frames and containers;
* Resize handle WIP
* abstract splitter and logic into self contained component that will emit an event when mouse is moving
* Resize handle WIP
- Minor tweak to handle padding and hover;
* add container resize todo persist
* persist container resize
* add frame header, fix column resize on last column
* Refinements to resize-handle
- Fixed sizing;
- Transition on hover;
- TODOs: needs is-dragging to maintain hover style while dragging;
* fix drop hints showing after drop
* move header
* improve mouse move gesture
* Added frame size indicator
* add snapto functionality
* Refined container and frame size indicators
- Also added overflow handling to l-grid-view
* improve resizing logic
* add selection on frames
* Various resizing-frames related
- Fixed overflow - now frame widths can be collapsed to 5% minimum;
- Sizing indicators refined, better positioning and layout;
- Added grippy drag indicators to column heads;
- TODOs: add column head cursors and hover effects, hide indicators
when not in edit mode, handle nested layout and flex layouts while
editing
* Selecting and emtpy layout messaging
- Better empty layout message;
- Moved s-selected to proper element in c-fl-frame;
* Drop-hint and sizing related various
- Drop-hints for first placeholder container now display;
- Drop-hints moved into drag-wrapper;
* add delete frame
* Editing various
- Adjust Snow theme constants related to editing;
- Changed delete message wording;
* Updated icon and added description
* add toggle and remove container to toolbar
* miscellaneous cleanup
* add container button to toolbar
* improve toolbar
* code cleanup in plugin.js
* Various icons, toolbar separator
- Copied in c-toolbar__separator and associated changes in _controls
from Pegah's layout_alpha branch - may have conflicts later.
- Added separator to FL toolbar;
- Updated icons for grippy-ew, toolbar icons;
* add check for empty containers"
* logic to resize frames on drop
* fix delete frame and persisting toolbar
* Significant changes to edit / selection styling
- Both Flexible and fixed Display Layouts addressed;
- Both themes addressed;
- Changed drop-hint icon to icon-plus;
* add correct icons to frame header and fix toolbars showing up in wrong views
* Moving and resizing various
- Cursors;
- Grippy added to frame resize-handle, WIP!;
* add container reordering
* add frame/no frame support to toolbar'
* fix regression of resize handles showing after last frame in container
* force selection of flexible-layout when editing is first clicked, to apply correct toolbar
* make changes to simplify toolbar
* Modified sizing algorithm slightly
* make changes reviewer requested
* fix regression that causes top drop hint to not show
* remove unused variables and bind events to vue
* unsub selection before destroy
2018-11-09 01:17:14 +00:00
|
|
|
$mh: 25px;
|
|
|
|
background: $bg-icon-plus;
|
2018-10-26 21:14:00 +00:00
|
|
|
background-size: contain;
|
|
|
|
background-position: center center;
|
|
|
|
background-repeat: no-repeat;
|
|
|
|
content: '';
|
|
|
|
display: block;
|
|
|
|
filter: $colorKeyFilterHov;
|
|
|
|
height: $h; width: $h;
|
|
|
|
max-height: $mh; max-width: $mh;
|
|
|
|
}
|
|
|
|
|
Flexible Layout (#2201)
* first cut of flexible layout
* better drag handling
* add drop targets to every row
* enable drag and drop between columns and rows
* enable persistance
* add editing capability
* chage rows to frames and columns to containers, switch draggable to whole frame object
* Merge latest, resolve conflicts.
Need to just apply these changes to Deep's branch and push
* enhancements to drag targets
* WIP in flexibleLayout, container.vue files
- Refined classes and markup;
- min-width changed to flex-basis;
- Added toggle direction button;
* Significant progress but still WIP
- Refined classes and markup;
- Layout toggling working;
- Add Container working properly;
- TODOs: fix sizing in empty container, fix bordering, more refinements;
* add resizing of frames - still wip
* Significant enhancements
- Moved all CSS into flexibleLayout.vue;
- Layout now improved for empty container and drop hints;
- Proportional sizing now better for frames and containers;
* Resize handle WIP
* abstract splitter and logic into self contained component that will emit an event when mouse is moving
* Resize handle WIP
- Minor tweak to handle padding and hover;
* add container resize todo persist
* persist container resize
* add frame header, fix column resize on last column
* Refinements to resize-handle
- Fixed sizing;
- Transition on hover;
- TODOs: needs is-dragging to maintain hover style while dragging;
* fix drop hints showing after drop
* move header
* improve mouse move gesture
* Added frame size indicator
* add snapto functionality
* Refined container and frame size indicators
- Also added overflow handling to l-grid-view
* improve resizing logic
* add selection on frames
* Various resizing-frames related
- Fixed overflow - now frame widths can be collapsed to 5% minimum;
- Sizing indicators refined, better positioning and layout;
- Added grippy drag indicators to column heads;
- TODOs: add column head cursors and hover effects, hide indicators
when not in edit mode, handle nested layout and flex layouts while
editing
* Selecting and emtpy layout messaging
- Better empty layout message;
- Moved s-selected to proper element in c-fl-frame;
* Drop-hint and sizing related various
- Drop-hints for first placeholder container now display;
- Drop-hints moved into drag-wrapper;
* add delete frame
* Editing various
- Adjust Snow theme constants related to editing;
- Changed delete message wording;
* Updated icon and added description
* add toggle and remove container to toolbar
* miscellaneous cleanup
* add container button to toolbar
* improve toolbar
* code cleanup in plugin.js
* Various icons, toolbar separator
- Copied in c-toolbar__separator and associated changes in _controls
from Pegah's layout_alpha branch - may have conflicts later.
- Added separator to FL toolbar;
- Updated icons for grippy-ew, toolbar icons;
* add check for empty containers"
* logic to resize frames on drop
* fix delete frame and persisting toolbar
* Significant changes to edit / selection styling
- Both Flexible and fixed Display Layouts addressed;
- Both themes addressed;
- Changed drop-hint icon to icon-plus;
* add correct icons to frame header and fix toolbars showing up in wrong views
* Moving and resizing various
- Cursors;
- Grippy added to frame resize-handle, WIP!;
* add container reordering
* add frame/no frame support to toolbar'
* fix regression of resize handles showing after last frame in container
* force selection of flexible-layout when editing is first clicked, to apply correct toolbar
* make changes to simplify toolbar
* Modified sizing algorithm slightly
* make changes reviewer requested
* fix regression that causes top drop hint to not show
* remove unused variables and bind events to vue
* unsub selection before destroy
2018-11-09 01:17:14 +00:00
|
|
|
.is-dragging &,
|
|
|
|
&.is-dragging {
|
2018-10-26 21:14:00 +00:00
|
|
|
pointer-events: inherit;
|
|
|
|
transition: $transIn;
|
|
|
|
opacity: 0.8;
|
|
|
|
}
|
|
|
|
|
Flexible Layout (#2201)
* first cut of flexible layout
* better drag handling
* add drop targets to every row
* enable drag and drop between columns and rows
* enable persistance
* add editing capability
* chage rows to frames and columns to containers, switch draggable to whole frame object
* Merge latest, resolve conflicts.
Need to just apply these changes to Deep's branch and push
* enhancements to drag targets
* WIP in flexibleLayout, container.vue files
- Refined classes and markup;
- min-width changed to flex-basis;
- Added toggle direction button;
* Significant progress but still WIP
- Refined classes and markup;
- Layout toggling working;
- Add Container working properly;
- TODOs: fix sizing in empty container, fix bordering, more refinements;
* add resizing of frames - still wip
* Significant enhancements
- Moved all CSS into flexibleLayout.vue;
- Layout now improved for empty container and drop hints;
- Proportional sizing now better for frames and containers;
* Resize handle WIP
* abstract splitter and logic into self contained component that will emit an event when mouse is moving
* Resize handle WIP
- Minor tweak to handle padding and hover;
* add container resize todo persist
* persist container resize
* add frame header, fix column resize on last column
* Refinements to resize-handle
- Fixed sizing;
- Transition on hover;
- TODOs: needs is-dragging to maintain hover style while dragging;
* fix drop hints showing after drop
* move header
* improve mouse move gesture
* Added frame size indicator
* add snapto functionality
* Refined container and frame size indicators
- Also added overflow handling to l-grid-view
* improve resizing logic
* add selection on frames
* Various resizing-frames related
- Fixed overflow - now frame widths can be collapsed to 5% minimum;
- Sizing indicators refined, better positioning and layout;
- Added grippy drag indicators to column heads;
- TODOs: add column head cursors and hover effects, hide indicators
when not in edit mode, handle nested layout and flex layouts while
editing
* Selecting and emtpy layout messaging
- Better empty layout message;
- Moved s-selected to proper element in c-fl-frame;
* Drop-hint and sizing related various
- Drop-hints for first placeholder container now display;
- Drop-hints moved into drag-wrapper;
* add delete frame
* Editing various
- Adjust Snow theme constants related to editing;
- Changed delete message wording;
* Updated icon and added description
* add toggle and remove container to toolbar
* miscellaneous cleanup
* add container button to toolbar
* improve toolbar
* code cleanup in plugin.js
* Various icons, toolbar separator
- Copied in c-toolbar__separator and associated changes in _controls
from Pegah's layout_alpha branch - may have conflicts later.
- Added separator to FL toolbar;
- Updated icons for grippy-ew, toolbar icons;
* add check for empty containers"
* logic to resize frames on drop
* fix delete frame and persisting toolbar
* Significant changes to edit / selection styling
- Both Flexible and fixed Display Layouts addressed;
- Both themes addressed;
- Changed drop-hint icon to icon-plus;
* add correct icons to frame header and fix toolbars showing up in wrong views
* Moving and resizing various
- Cursors;
- Grippy added to frame resize-handle, WIP!;
* add container reordering
* add frame/no frame support to toolbar'
* fix regression of resize handles showing after last frame in container
* force selection of flexible-layout when editing is first clicked, to apply correct toolbar
* make changes to simplify toolbar
* Modified sizing algorithm slightly
* make changes reviewer requested
* fix regression that causes top drop hint to not show
* remove unused variables and bind events to vue
* unsub selection before destroy
2018-11-09 01:17:14 +00:00
|
|
|
.is-mouse-over &,
|
|
|
|
&.is-mouse-over {
|
2018-10-26 21:14:00 +00:00
|
|
|
transition: $transIn;
|
|
|
|
background-color: $colorDropHintBgHov;
|
|
|
|
opacity: 0.9;
|
|
|
|
}
|
|
|
|
}
|
2018-12-18 19:07:09 +00:00
|
|
|
|
|
|
|
/***************************************************** LEGACY */
|
|
|
|
|
|
|
|
.l-btn-set {
|
|
|
|
// Fixes
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
}
|
|
|
|
|
|
|
|
.h-local-controls {
|
|
|
|
&-overlay-content {
|
|
|
|
box-shadow: $colorBodyBg 0 0 0 2px;
|
|
|
|
display: inline-block;
|
|
|
|
position: absolute;
|
|
|
|
right: $interiorMargin; top: $interiorMargin;
|
|
|
|
z-index: 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
&-trans {
|
|
|
|
// Has a translucent background plate
|
|
|
|
background: rgba($colorBodyBg, 0.8);
|
|
|
|
border-radius: $controlCr;
|
|
|
|
}
|
|
|
|
}
|