Index: samples-dev/swarm/swarm_ui_lib/touch/Scrollbar.dart |
diff --git a/samples-dev/swarm/swarm_ui_lib/touch/Scrollbar.dart b/samples-dev/swarm/swarm_ui_lib/touch/Scrollbar.dart |
index 1ac758cfad633e064b434f3592941defd1069dc5..3f458392a761450fcd3f98c7eb3eec0b98f9548f 100644 |
--- a/samples-dev/swarm/swarm_ui_lib/touch/Scrollbar.dart |
+++ b/samples-dev/swarm/swarm_ui_lib/touch/Scrollbar.dart |
@@ -57,22 +57,24 @@ class Scrollbar implements ScrollListener { |
bool _displayOnHover; |
bool _hovering = false; |
- Scrollbar(Scroller scroller, [displayOnHover = true]) : |
- _displayOnHover = displayOnHover, |
- _scroller = scroller, |
- _frame = scroller.getFrame(), |
- _cachedSize = new Map<String, num>() { |
- _boundHideFn = () { _showScrollbars(false); }; |
+ Scrollbar(Scroller scroller, [displayOnHover = true]) |
+ : _displayOnHover = displayOnHover, |
+ _scroller = scroller, |
+ _frame = scroller.getFrame(), |
+ _cachedSize = new Map<String, num>() { |
+ _boundHideFn = () { |
+ _showScrollbars(false); |
+ }; |
} |
bool get _scrollBarDragInProgress => _scrollBarDragInProgressValue; |
void set _scrollBarDragInProgress(bool value) { |
_scrollBarDragInProgressValue = value; |
- _toggleClass(_verticalElement, DRAG_CLASS_NAME, |
- value && _currentScrollVertical); |
- _toggleClass(_horizontalElement, DRAG_CLASS_NAME, |
- value && !_currentScrollVertical); |
+ _toggleClass( |
+ _verticalElement, DRAG_CLASS_NAME, value && _currentScrollVertical); |
+ _toggleClass( |
+ _horizontalElement, DRAG_CLASS_NAME, value && !_currentScrollVertical); |
} |
// TODO(jacobr): move this helper method into the DOM. |
@@ -121,44 +123,42 @@ class Scrollbar implements ScrollListener { |
// instead attach a single global event listener and let data in the |
// DOM drive. |
_frame.onClick.listen((Event e) { |
- // Always focus on click as one of our children isn't all focused. |
- if (!_frame.contains(document.activeElement)) { |
- scrollerEl.focus(); |
- } |
- }); |
+ // Always focus on click as one of our children isn't all focused. |
+ if (!_frame.contains(document.activeElement)) { |
+ scrollerEl.focus(); |
+ } |
+ }); |
_frame.onMouseOver.listen((Event e) { |
- final activeElement = document.activeElement; |
- // TODO(jacobr): don't steal focus from a child element or a truly |
- // focusable element. Only support stealing focus ffrom another |
- // element that was given fake focus. |
- if (activeElement is BodyElement || |
- (!_frame.contains(activeElement) && |
- activeElement is DivElement)) { |
- scrollerEl.focus(); |
- } |
- if (_hovering == false) { |
- _hovering = true; |
- _cancelTimeout(); |
- _showScrollbars(true); |
- refresh(); |
- } |
- }); |
+ final activeElement = document.activeElement; |
+ // TODO(jacobr): don't steal focus from a child element or a truly |
+ // focusable element. Only support stealing focus ffrom another |
+ // element that was given fake focus. |
+ if (activeElement is BodyElement || |
+ (!_frame.contains(activeElement) && activeElement is DivElement)) { |
+ scrollerEl.focus(); |
+ } |
+ if (_hovering == false) { |
+ _hovering = true; |
+ _cancelTimeout(); |
+ _showScrollbars(true); |
+ refresh(); |
+ } |
+ }); |
_frame.onMouseOut.listen((e) { |
- _hovering = false; |
- // Start hiding immediately if we aren't |
- // scrolling or already in the process of |
- // hidng the scrollbar |
- if (!_scrollInProgress && _timer == null) { |
- _boundHideFn(); |
- } |
- }); |
+ _hovering = false; |
+ // Start hiding immediately if we aren't |
+ // scrolling or already in the process of |
+ // hidng the scrollbar |
+ if (!_scrollInProgress && _timer == null) { |
+ _boundHideFn(); |
+ } |
+ }); |
} |
} |
void _onStart(/*MouseEvent | Touch*/ e) { |
Element elementOver = e.target; |
- if (elementOver == _verticalElement || |
- elementOver == _horizontalElement) { |
+ if (elementOver == _verticalElement || elementOver == _horizontalElement) { |
_currentScrollVertical = elementOver == _verticalElement; |
if (_currentScrollVertical) { |
_currentScrollStartMouse = e.page.y; |
@@ -180,15 +180,14 @@ class Scrollbar implements ScrollListener { |
_refreshScrollRatioHelper( |
_scroller._scrollSize.height, contentSize.height); |
} else { |
- _refreshScrollRatioHelper(_scroller._scrollSize.width, |
- contentSize.width); |
+ _refreshScrollRatioHelper(_scroller._scrollSize.width, contentSize.width); |
} |
} |
- |
void _refreshScrollRatioHelper(num frameSize, num contentSize) { |
- num frameTravelDistance = frameSize - _defaultScrollSize( |
- frameSize, contentSize) -_PADDING_LENGTH * 2; |
+ num frameTravelDistance = frameSize - |
+ _defaultScrollSize(frameSize, contentSize) - |
+ _PADDING_LENGTH * 2; |
if (frameTravelDistance < 0.001) { |
_currentScrollRatio = 0; |
} else { |
@@ -222,20 +221,19 @@ class Scrollbar implements ScrollListener { |
void _onEnd(UIEvent e) { |
_scrollBarDragInProgress = false; |
// TODO(jacobr): make scrollbar less tightly coupled to the scroller. |
- _scroller._onScrollerDragEnd.add( |
- new Event(ScrollerEventType.DRAG_END)); |
+ _scroller._onScrollerDragEnd.add(new Event(ScrollerEventType.DRAG_END)); |
} |
- |
/** |
* When scrolling ends, schedule a timeout to hide the scrollbars. |
*/ |
void _onScrollerEnd(Event e) { |
_cancelTimeout(); |
- _timer = new Timer(const Duration(milliseconds: _DISPLAY_TIME), |
- _boundHideFn); |
+ _timer = |
+ new Timer(const Duration(milliseconds: _DISPLAY_TIME), _boundHideFn); |
_scrollInProgress = false; |
} |
+ |
void onScrollerMoved(num scrollX, num scrollY, bool decelerating) { |
if (_scrollInProgress == false) { |
// Display the scrollbar and then immediately prepare to hide it... |
@@ -251,8 +249,8 @@ class Scrollbar implements ScrollListener { |
return; |
} |
_scroller._resize(() { |
- updateScrollbars(_scroller.getHorizontalOffset(), |
- _scroller.getVerticalOffset()); |
+ updateScrollbars( |
+ _scroller.getHorizontalOffset(), _scroller.getVerticalOffset()); |
}); |
} |
@@ -261,14 +259,12 @@ class Scrollbar implements ScrollListener { |
if (_scroller._shouldScrollHorizontally()) { |
num scrollPercentX = _scroller.getHorizontalScrollPercent(scrollX); |
_updateScrollbar(_horizontalElement, scrollX, scrollPercentX, |
- _scroller._scrollSize.width, |
- contentSize.width, 'right', 'width'); |
+ _scroller._scrollSize.width, contentSize.width, 'right', 'width'); |
} |
if (_scroller._shouldScrollVertically()) { |
num scrollPercentY = _scroller.getVerticalScrollPercent(scrollY); |
_updateScrollbar(_verticalElement, scrollY, scrollPercentY, |
- _scroller._scrollSize.height, |
- contentSize.height, 'bottom', 'height'); |
+ _scroller._scrollSize.height, contentSize.height, 'bottom', 'height'); |
} |
} |
@@ -309,8 +305,9 @@ class Scrollbar implements ScrollListener { |
num _defaultScrollSize(num frameSize, num contentSize) { |
return GoogleMath.clamp( |
- (frameSize -_PADDING_LENGTH * 2) * frameSize / contentSize, |
- _MIN_SIZE, frameSize -_PADDING_LENGTH * 2); |
+ (frameSize - _PADDING_LENGTH * 2) * frameSize / contentSize, |
+ _MIN_SIZE, |
+ frameSize - _PADDING_LENGTH * 2); |
} |
/** |
@@ -319,9 +316,8 @@ class Scrollbar implements ScrollListener { |
* specified by [cssPos]. The CSS property to adjust for size (height|width) |
* is specified by [cssSize]. |
*/ |
- void _updateScrollbar(Element element, num offset, |
- num scrollPercent, num frameSize, |
- num contentSize, String cssPos, String cssSize) { |
+ void _updateScrollbar(Element element, num offset, num scrollPercent, |
+ num frameSize, num contentSize, String cssPos, String cssSize) { |
if (!_cachedSize.containsKey(cssSize)) { |
if (offset == null || contentSize < frameSize) { |
return; |
@@ -337,9 +333,9 @@ class Scrollbar implements ScrollListener { |
num scrollPx = stretchPercent * (contentSize - frameSize); |
num maxSize = _defaultScrollSize(frameSize, contentSize); |
num size = Math.max(_MIN_COMPRESSED_SIZE, maxSize - scrollPx); |
- num maxOffset = frameSize - size -_PADDING_LENGTH * 2; |
- num pos = GoogleMath.clamp(scrollPercent * maxOffset, |
- 0, maxOffset) + _PADDING_LENGTH; |
+ num maxOffset = frameSize - size - _PADDING_LENGTH * 2; |
+ num pos = GoogleMath.clamp(scrollPercent * maxOffset, 0, maxOffset) + |
+ _PADDING_LENGTH; |
pos = pos.round(); |
size = size.round(); |
final style = element.style; |