1
1
/**
2
- * FixedDataTable v0.8.13
2
+ * FixedDataTable v0.8.14
3
3
*
4
4
* Copyright Schrodinger, LLC
5
5
* All rights reserved.
@@ -1641,6 +1641,14 @@ var KEYBOARD_SCROLL_AMOUNT = 40;
1641
1641
1642
1642
var _lastScrolledScrollbar = null ;
1643
1643
1644
+ var getTouchX = function getTouchX ( e ) {
1645
+ return Math . round ( e . targetTouches [ 0 ] . pageX - e . target . getBoundingClientRect ( ) . x ) ;
1646
+ } ;
1647
+
1648
+ var getTouchY = function getTouchY ( e ) {
1649
+ return Math . round ( e . targetTouches [ 0 ] . pageY - e . target . getBoundingClientRect ( ) . y ) ;
1650
+ } ;
1651
+
1644
1652
var Scrollbar = ( 0 , _createReactClass2 . default ) ( {
1645
1653
displayName : 'Scrollbar' ,
1646
1654
mixins : [ _ReactComponentWithPureRenderMixin2 . default ] ,
@@ -1682,6 +1690,9 @@ var Scrollbar = (0, _createReactClass2.default)({
1682
1690
faceRef : function faceRef ( ref ) {
1683
1691
this . face = ref ;
1684
1692
} ,
1693
+ rootRef : function rootRef ( ref ) {
1694
+ this . root = ref ;
1695
+ } ,
1685
1696
render : function render ( ) /*?object*/ {
1686
1697
if ( ! this . state . scrollable ) {
1687
1698
return null ;
@@ -1735,6 +1746,7 @@ var Scrollbar = (0, _createReactClass2.default)({
1735
1746
( 0 , _FixedDataTableTranslateDOMPosition2 . default ) ( faceStyle , 0 , position , this . _initialRender ) ;
1736
1747
}
1737
1748
1749
+ mainStyle . touchAction = 'none' ;
1738
1750
mainStyle . zIndex = this . props . zIndex ;
1739
1751
1740
1752
if ( this . props . trackColor === 'gray' ) {
@@ -1748,8 +1760,13 @@ var Scrollbar = (0, _createReactClass2.default)({
1748
1760
onBlur : this . _onBlur ,
1749
1761
onKeyDown : this . _onKeyDown ,
1750
1762
onMouseDown : this . _onMouseDown ,
1763
+ onTouchCancel : this . _onTouchCancel ,
1764
+ onTouchEnd : this . _onTouchEnd ,
1765
+ onTouchMove : this . _onTouchMove ,
1766
+ onTouchStart : this . _onTouchStart ,
1751
1767
onWheel : this . _wheelHandler . onWheel ,
1752
1768
className : mainClassName ,
1769
+ ref : this . rootRef ,
1753
1770
style : mainStyle ,
1754
1771
tabIndex : 0 } ,
1755
1772
_React2 . default . createElement ( 'div' , {
@@ -1769,7 +1786,7 @@ var Scrollbar = (0, _createReactClass2.default)({
1769
1786
this . _initialRender = true ;
1770
1787
} ,
1771
1788
componentDidMount : function componentDidMount ( ) {
1772
- this . _mouseMoveTracker = new _DOMMouseMoveTracker2 . default ( this . _onMouseMove , this . _onMouseMoveEnd , document . documentElement ) ;
1789
+ this . _mouseMoveTracker = new _DOMMouseMoveTracker2 . default ( this . _onMouseMove , this . _onMouseMoveEnd , document . documentElement , this . props . touchEnabled ) ;
1773
1790
1774
1791
if ( this . props . position !== undefined && this . state . position !== this . props . position ) {
1775
1792
this . _didScroll ( ) ;
@@ -1873,7 +1890,7 @@ var Scrollbar = (0, _createReactClass2.default)({
1873
1890
// Both `offsetX` and `layerX` are non-standard DOM property but they are
1874
1891
// magically available for browsers somehow.
1875
1892
var nativeEvent = event . nativeEvent ;
1876
- var position = this . state . isHorizontal ? nativeEvent . offsetX || nativeEvent . layerX : nativeEvent . offsetY || nativeEvent . layerY ;
1893
+ var position = this . state . isHorizontal ? nativeEvent . offsetX || nativeEvent . layerX || getTouchX ( nativeEvent ) : nativeEvent . offsetY || nativeEvent . layerY || getTouchY ( nativeEvent ) ;
1877
1894
1878
1895
// MouseDown on the scroll-track directly, move the center of the
1879
1896
// scroll-face to the mouse position.
@@ -1889,7 +1906,20 @@ var Scrollbar = (0, _createReactClass2.default)({
1889
1906
1890
1907
this . _mouseMoveTracker . captureMouseMoves ( event ) ;
1891
1908
// Focus the node so it may receive keyboard event.
1892
- _ReactDOM2 . default . findDOMNode ( this ) . focus ( ) ;
1909
+ this . root . focus ( ) ;
1910
+ } ,
1911
+ _onTouchCancel : function _onTouchCancel ( /*object*/ event ) {
1912
+ event . stopPropagation ( ) ;
1913
+ } ,
1914
+ _onTouchEnd : function _onTouchEnd ( /*object*/ event ) {
1915
+ event . stopPropagation ( ) ;
1916
+ } ,
1917
+ _onTouchMove : function _onTouchMove ( /*object*/ event ) {
1918
+ event . stopPropagation ( ) ;
1919
+ } ,
1920
+ _onTouchStart : function _onTouchStart ( /*object*/ event ) {
1921
+ event . stopPropagation ( ) ;
1922
+ this . _onMouseDown ( event ) ;
1893
1923
} ,
1894
1924
_onMouseMove : function _onMouseMove ( /*number*/ deltaX , /*number*/ deltaY ) {
1895
1925
var props = this . props ;
@@ -3319,7 +3349,7 @@ var FixedDataTableRoot = {
3319
3349
Table : _FixedDataTable2 . default
3320
3350
} ;
3321
3351
3322
- FixedDataTableRoot . version = '0.8.13 ' ;
3352
+ FixedDataTableRoot . version = '0.8.14 ' ;
3323
3353
module . exports = FixedDataTableRoot ;
3324
3354
3325
3355
/***/ } ) ,
@@ -4016,7 +4046,8 @@ var FixedDataTable = (0, _createReactClass2.default)({
4016
4046
contentSize : scrollbarYHeight + maxScrollY ,
4017
4047
onScroll : this . _onVerticalScroll ,
4018
4048
verticalTop : bodyOffsetTop ,
4019
- position : state . scrollY
4049
+ position : state . scrollY ,
4050
+ touchEnabled : state . touchScrollEnabled
4020
4051
} ) ;
4021
4052
}
4022
4053
@@ -4028,7 +4059,8 @@ var FixedDataTable = (0, _createReactClass2.default)({
4028
4059
offset : bottomSectionOffset ,
4029
4060
onScroll : this . _onHorizontalScroll ,
4030
4061
position : state . scrollX ,
4031
- size : scrollbarXWidth
4062
+ size : scrollbarXWidth ,
4063
+ touchEnabled : state . touchScrollEnabled
4032
4064
} ) ;
4033
4065
}
4034
4066
@@ -7142,6 +7174,7 @@ var ReactTouchHandler = function () {
7142
7174
_createClass ( ReactTouchHandler , [ {
7143
7175
key : 'onTouchStart' ,
7144
7176
value : function onTouchStart ( /*object*/ event ) {
7177
+
7145
7178
// Start tracking drag delta for scrolling
7146
7179
this . _lastTouchX = event . touches [ 0 ] . pageX ;
7147
7180
this . _lastTouchY = event . touches [ 0 ] . pageY ;
@@ -7191,6 +7224,7 @@ var ReactTouchHandler = function () {
7191
7224
} , {
7192
7225
key : 'onTouchMove' ,
7193
7226
value : function onTouchMove ( /*object*/ event ) {
7227
+
7194
7228
var moveX = event . touches [ 0 ] . pageX ;
7195
7229
var moveY = event . touches [ 0 ] . pageY ;
7196
7230
0 commit comments