@@ -17,21 +17,22 @@ import {NgsgStoreService} from './ngsg-store.service';
1717import { NgsgSortService } from './ngsg-sort.service' ;
1818import { NgsgSelectionService } from './ngsg-selection.service' ;
1919import { NgsgEventsService } from './ngsg-events.service' ;
20+ import { ScrollHelperService } from './helpers/scroll-helper.service' ;
2021import { Subject } from 'rxjs' ;
2122import { takeUntil } from 'rxjs/operators' ;
22- import { ViewPortService } from './helpers/view-port.service' ;
2323
2424const selector = '[ngSortgridItem]' ;
2525
2626@Directive ( { selector} )
2727export class NgsgItemDirective implements OnInit , OnChanges , AfterViewInit , OnDestroy {
2828 @Input ( ) ngSortGridGroup = 'defaultGroup' ;
2929 @Input ( ) ngSortGridItems ;
30+ @Input ( ) scrollPointTop ;
31+ @Input ( ) scrollSpeed ;
3032
3133 @Output ( ) sorted = new EventEmitter < any > ( ) ;
3234
3335 private selected = false ;
34- private SCROLLSPEED = 100 ;
3536 private destroy$ = new Subject ( ) ;
3637
3738 constructor (
@@ -41,7 +42,7 @@ export class NgsgItemDirective implements OnInit, OnChanges, AfterViewInit, OnDe
4142 private reflectService : NgsgReflectService ,
4243 private ngsgStore : NgsgStoreService ,
4344 private ngsgEventService : NgsgEventsService ,
44- private viewPortService : ViewPortService
45+ private scrollHelperService : ScrollHelperService
4546 ) {
4647 }
4748
@@ -90,14 +91,7 @@ export class NgsgItemDirective implements OnInit, OnChanges, AfterViewInit, OnDe
9091
9192 @HostListener ( 'dragover' , [ '$event' ] )
9293 dragOver ( event ) : boolean {
93-
94- if ( this . viewPortService . isOutOfViewport ( event . target ) . top ) {
95- window . scrollBy ( { top : - this . SCROLLSPEED , behavior : 'smooth' } ) ;
96- }
97-
98- if ( this . viewPortService . isOutOfViewport ( event . target ) . bottom ) {
99- window . scrollBy ( { top : this . SCROLLSPEED , behavior : 'smooth' } ) ;
100- }
94+ this . scrollHelperService . scrollIfNecessary ( event . target , { top : this . scrollPointTop } , this . scrollSpeed ) ;
10195
10296 if ( event . preventDefault ) {
10397 // Necessary. Allows us to drop.
0 commit comments