Restrict scrolling to thead
Fixes fluidity issue on Apple trackpad We can now use combo scroll for Windows users / more obvious UX
This commit is contained in:
parent
6c30e542a7
commit
b15cdadd99
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
$el.dragScroll({
|
||||
scrollClassContainer: scrollClassContainer,
|
||||
useComboScroll: false,
|
||||
scrollSelector: 'thead',
|
||||
dragSelector: 'thead'
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
* - useScroll - determines if the mouse wheel scrolling is allowed, true by default
|
||||
* - useComboScroll - determines if horizontal scroll should act as vertical, and vice versa, true by default
|
||||
* - dragSelector - restrict drag events to this selector
|
||||
* - scrollSelector - restrict scroll events to this selector
|
||||
*
|
||||
* Methods:
|
||||
* - isStart - determines if the scrollable area is in its start (left or top)
|
||||
|
|
@ -66,7 +67,9 @@
|
|||
/*
|
||||
* Bind events
|
||||
*/
|
||||
$el.mousewheel(function(event){
|
||||
var $scrollSelect = this.options.scrollSelector ? $(this.options.scrollSelector, $el) : $el
|
||||
|
||||
$scrollSelect.mousewheel(function(event){
|
||||
if (!self.options.useScroll)
|
||||
return;
|
||||
|
||||
|
|
@ -241,6 +244,7 @@
|
|||
useComboScroll: true,
|
||||
scrollClassContainer: false,
|
||||
scrollMarkerContainer: false,
|
||||
scrollSelector: null,
|
||||
dragSelector: null,
|
||||
dragClass: 'drag',
|
||||
start: function() {},
|
||||
|
|
|
|||
|
|
@ -459,7 +459,7 @@ table.table.data {
|
|||
|
||||
&:after, &:before {
|
||||
margin-top: 0;
|
||||
height: 41px;
|
||||
height: 40px;
|
||||
padding: 13px 10px;
|
||||
background: #fff;
|
||||
top: 1px;
|
||||
|
|
|
|||
|
|
@ -3049,7 +3049,8 @@ this.scrollClassContainer=this.options.scrollClassContainer?$(this.options.scrol
|
|||
this.isScrollable=true
|
||||
Base.call(this)
|
||||
if(this.options.scrollMarkerContainer){$(this.options.scrollMarkerContainer).append($('<span class="before scroll-marker"></span><span class="after scroll-marker"></span>'))}
|
||||
$el.mousewheel(function(event){if(!self.options.useScroll)
|
||||
var $scrollSelect=this.options.scrollSelector?$(this.options.scrollSelector,$el):$el
|
||||
$scrollSelect.mousewheel(function(event){if(!self.options.useScroll)
|
||||
return;var offset,offsetX=event.deltaFactor*event.deltaX,offsetY=event.deltaFactor*event.deltaY
|
||||
if(!offsetX&&self.options.useComboScroll){offset=offsetY*-1}
|
||||
else if(!offsetY&&self.options.useComboScroll){offset=offsetX}
|
||||
|
|
@ -3104,7 +3105,7 @@ return scrolled}
|
|||
this.fixScrollClasses();}
|
||||
DragScroll.prototype=Object.create(BaseProto)
|
||||
DragScroll.prototype.constructor=DragScroll
|
||||
DragScroll.DEFAULTS={vertical:false,useDrag:true,useScroll:true,useComboScroll:true,scrollClassContainer:false,scrollMarkerContainer:false,dragSelector:null,dragClass:'drag',start:function(){},drag:function(){},stop:function(){}}
|
||||
DragScroll.DEFAULTS={vertical:false,useDrag:true,useScroll:true,useComboScroll:true,scrollClassContainer:false,scrollMarkerContainer:false,scrollSelector:null,dragSelector:null,dragClass:'drag',start:function(){},drag:function(){},stop:function(){}}
|
||||
DragScroll.prototype.fixScrollClasses=function(){var isStart=this.isStart(),isEnd=this.isEnd()
|
||||
this.scrollClassContainer.toggleClass('scroll-before',!isStart)
|
||||
this.scrollClassContainer.toggleClass('scroll-after',!isEnd)
|
||||
|
|
|
|||
|
|
@ -2564,7 +2564,7 @@ table.table.data tr.list-tree-level-10 td.list-cell-index-1{padding-left:125px}
|
|||
.list-scrollable-container:after{right:-8px;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f105"}
|
||||
.list-scrollable-container.scroll-before:before{display:block}
|
||||
.list-scrollable-container.scroll-after:after{display:block}
|
||||
.list-scrollable-container:after,.list-scrollable-container:before{margin-top:0;height:41px;padding:13px 10px;background:#fff;top:1px}
|
||||
.list-scrollable-container:after,.list-scrollable-container:before{margin-top:0;height:40px;padding:13px 10px;background:#fff;top:1px}
|
||||
.list-scrollable-container:before{left:0}
|
||||
.list-scrollable-container:after{right:0}
|
||||
.list-scrollable-container > .list-scrollable{overflow:hidden}
|
||||
|
|
|
|||
Loading…
Reference in New Issue