final double bodyBottom, final double decoWidth) {
final int top = deco.getAbsoluteTop();
final int bottom = deco.getAbsoluteBottom();
+ /*
+ * FIXME
+ *
+ * Height and its use is a workaround for the issue where
+ * coordinates of the deco are not calculated yet. This will
+ * prevent a deco from being displayed when it's added to DOM
+ */
+ final int height = bottom - top;
if (top < bodyTop || bottom > bodyBottom) {
final double topClip = Math.max(0.0D, bodyTop - top);
- final double bottomClip = decoHeight
+ final double bottomClip = height
- Math.max(0.0D, bottom - bodyBottom);
// TODO [optimize] not sure how GWT compiles this
final String clip = new StringBuilder("rect(")
} else if (spacerExists(rowIndex)) {
removeSpacer(rowIndex);
}
+
+ updateSpacerDecosVisibility();
}
/** Checks if a given element is a spacer element */
spacerScrollerRegistration.removeHandler();
spacerScrollerRegistration = null;
}
-
- updateSpacerDecosVisibility();
}
public Map<Integer, SpacerImpl> getSpacers() {
initSpacerContent(spacer);
body.sortDomElements();
- updateSpacerDecosVisibility();
}
private void updateExistingSpacer(int rowIndex, double newHeight) {