Преглед изворни кода

Adds stylable corner boxes for the footer and header (#13334)

Change-Id: I7901b42ac2a8c590d4967460eb926fde9199e83e
tags/7.4.0.beta1
Henrik Paul пре 9 година
родитељ
комит
7ab2d41433

+ 11
- 0
WebContent/VAADIN/themes/base/escalator/escalator.scss Прегледај датотеку

@@ -41,6 +41,17 @@ $border-color: #aaa;
width: inherit; /* a decent default fallback */
}

.#{$primaryStyleName}-headercorner,
.#{$primaryStyleName}-footercorner {
position: absolute;
right: 0;
border: 1px solid $border-color;
box-sizing: border-box;
}

.#{$primaryStyleName}-headercorner { top: 0; }
.#{$primaryStyleName}-footercorner { bottom: 0; }

.#{$primaryStyleName}-horizontalscrollbarbackground {
position: absolute;
bottom: 0;

+ 38
- 0
client/src/com/vaadin/client/ui/grid/Escalator.java Прегледај датотеку

@@ -811,6 +811,27 @@ public class Escalator extends Widget implements RequiresResize, DeferredWorker
horizontalScrollbarBackground.getStyle().setDisplay(
Display.NONE);
}

/*
* only show corner background divs if the vertical scrollbar is
* visible.
*/
Style hCornerStyle = headerCorner.getStyle();
Style fCornerStyle = footerCorner.getStyle();
if (verticalScrollbar.showsScrollHandle()) {
hCornerStyle.clearDisplay();
fCornerStyle.clearDisplay();

if (horizontalScrollbar.showsScrollHandle()) {
int offset = horizontalScrollbar.getScrollbarThickness();
fCornerStyle.setBottom(offset, Unit.PX);
} else {
fCornerStyle.clearBottom();
}
} else {
hCornerStyle.setDisplay(Display.NONE);
fCornerStyle.setDisplay(Display.NONE);
}
}

/**
@@ -4088,6 +4109,8 @@ public class Escalator extends Widget implements RequiresResize, DeferredWorker

private final DivElement horizontalScrollbarBackground = DivElement.as(DOM
.createDiv());
private final DivElement headerCorner = DivElement.as(DOM.createDiv());
private final DivElement footerCorner = DivElement.as(DOM.createDiv());

private PositionFunction position;

@@ -4188,6 +4211,16 @@ public class Escalator extends Widget implements RequiresResize, DeferredWorker
table.appendChild(bodyElem);
table.appendChild(footElem);

Style hCornerStyle = headerCorner.getStyle();
hCornerStyle.setWidth(Util.getNativeScrollbarSize(), Unit.PX);
hCornerStyle.setDisplay(Display.NONE);
root.appendChild(headerCorner);

Style fCornerStyle = footerCorner.getStyle();
fCornerStyle.setWidth(Util.getNativeScrollbarSize(), Unit.PX);
fCornerStyle.setDisplay(Display.NONE);
root.appendChild(footerCorner);

Style hWrapperStyle = horizontalScrollbarBackground.getStyle();
hWrapperStyle.setDisplay(Display.NONE);
hWrapperStyle.setHeight(Util.getNativeScrollbarSize(), Unit.PX);
@@ -4556,6 +4589,9 @@ public class Escalator extends Widget implements RequiresResize, DeferredWorker
body.recalculateSectionHeight();
footer.recalculateSectionHeight();

headerCorner.getStyle().setHeight(header.heightOfSection, Unit.PX);
footerCorner.getStyle().setHeight(footer.heightOfSection, Unit.PX);

scroller.recalculateScrollbarsForVirtualViewport();
body.verifyEscalatorCount();
Profiler.leave("Escalator.recalculateElementSizes");
@@ -4710,6 +4746,8 @@ public class Escalator extends Widget implements RequiresResize, DeferredWorker
horizontalScrollbar.setStylePrimaryName(style);

UIObject.setStylePrimaryName(tableWrapper, style + "-tablewrapper");
UIObject.setStylePrimaryName(headerCorner, style + "-headercorner");
UIObject.setStylePrimaryName(footerCorner, style + "-footercorner");
UIObject.setStylePrimaryName(horizontalScrollbarBackground, style
+ "-horizontalscrollbarbackground");


Loading…
Откажи
Сачувај