
Security News
Static vs. Runtime Reachability: Insights from Latio’s On the Record Podcast
The Latio podcast explores how static and runtime reachability help teams prioritize exploitable vulnerabilities and streamline AppSec workflows.
angular2-drag-scroll
Advanced tools
Lightweight drag to scroll carousel for Angular2+
Scroll on drag!
Try out the demo!
You can get it on npm.
npm install angular2-drag-scroll --save
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.
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-disabled | @Input | Whether draging is disabled. | false |
snap-disabled | @Input | Whether snapping is disabled. | false |
reachesLeftBound | @Output | Whether reaching the left carousel bound. | n/a |
reachesRightBound | @Output | Whether reaching the right carousel bound. | n/a |
@Component({
selector: 'sample',
template:`
<div drag-scroll #nav>
Big text goes here...
</div>
<button (click)="moveLeft()">Left</button>
<button (click)="moveRight()">Right</button>
`
})
class Sample {
@ViewChild('nav', {read: DragScroll}) ds: DragScroll;
moveLeft() {
this.ds.moveLeft();
}
moveRight() {
this.ds.moveRight();
}
}
This was brought by @tommykamkcm. The below code block demonstrates how to attach the directive dynamically on a DOM i.e. deep rendered element.
constructor(
private cdr: ChangeDetectorRef,
private element: ElementRef,
private renderer: Renderer
) {}
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.cdr);
this.dragScroll.attach({
disabled: false,
scrollbarHidden: true,
yDisabled: true,
xDisabled: false,
});
}
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
FAQs
This package is no longer supported and has been deprecated. To avoid malicious use, npm is hanging on to the package name.
The npm package angular2-drag-scroll receives a total of 89 weekly downloads. As such, angular2-drag-scroll popularity was classified as not popular.
We found that angular2-drag-scroll demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The Latio podcast explores how static and runtime reachability help teams prioritize exploitable vulnerabilities and streamline AppSec workflows.
Security News
The latest Opengrep releases add Apex scanning, precision rule tuning, and performance gains for open source static code analysis.
Security News
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.