angular-drag-scroll-light
v1.0.1
Published
Lightweight drag to scroll directive for Angular
Downloads
64
Maintainers
Readme
Angular2 Drag to Scroll
Lightweight drag to scroll directive for Angular2
Scroll on drag!
Try out the demo!
Install
You can get it on npm.
npm install angular2-drag-scroll --save
Setup
You'll need to add DragScrollModule
to your application module.
import { DragScrollModule } from 'angular2-drag-scroll';
...
@NgModule({
declarations: [
AppComponent
],
imports: [
DragScrollModule,
...
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule {
}
Add the drag-scroll
attribute to a scrollable element:
@Component({
selector: 'sample',
template:`
<div drag-scroll>
Big text goes here...
</div>
`
})
class Sample {}
That's it! Now you can scroll it by dragging.
API REFERENCE
| Name | Type | Description |Default| |------------------------|---------|-------------------------------------------------------------------------------|-------| | scrollbar-hidden | @Input | Whether the scroll bar for this element is hidden. | false | | drag-scroll-disabled | @Input | Whether all draging and scrolling events is disabled. | false | | drag-scroll-x-disabled | @Input | Whether horizontally dragging and scrolling events is disabled. | false | | drag-scroll-y-disabled | @Input | Whether vertically dragging and scrolling events is disabled. | false | | drag-scroll-nav | @Input | Whether show the navigation buttons. | false |
Dynamically apply the plugin to a DOM element
This was brought by @tommykamkcm. The below code block demonstrates how to attach the directive dynamically on a DOM i.e. deep rendered element.
dragScrollDom: any;
dragScrollRef: ElementRef;
dragScroll: DragScroll;
ngAfterViewInit() {
// attach to .nav-tabs element
this.dragScrollDom = this.element.nativeElement.querySelector('.nav-tabs');
this.dragScrollRef = new ElementRef(this.dragScrollDom );
this.dragScroll = new DragScroll(this.dragScrollRef, this.renderer);
this.dragScroll.attach({
disabled: false,
scrollbarHidden: true,
yDisabled: true,
xDisabled: false,
nav: false
});
}
Contributing
Clone the repository, and run npm install
, npm start
. The demo app will starts on port :4200. I usually do my development on the demo app.
I'll accept pretty much everything so feel free to open a Pull-Request