nativescript-ngx-debounce-tap
{N} + Angular directive for debouncing taps and adding animated feedback to the interaction.
npm i --save nativescript-ngx-debounce-tap
- Version: 1.2.0
- GitHub:
- NPM: https://www.npmjs.com/package/nativescript-ngx-debounce-tap
- Downloads:
- Last Day: 0
- Last Week: 0
- Last Month: 0
nativescript-ngx-debounce-tap
{N} + Angular directive for debouncing taps and adding animated feedback to the interaction.
Installation
tns plugin add nativescript-ngx-debounce-tap
Usage
Import the module in your app module
import { NgDebounceTapModule } from 'nativescript-ngx-debounce-tap';
@NgModule({
imports: [
NgDebounceTapModule,
// ...
],
// ...
})
export class MyModule { }
Then use it in your templates like so
<Label text="Hello World!"
ngDebounceTap
[delay]="320"
[anim]="'composite'"
[scale]="1.06"
[opacity]="0.2"
(debounceTap)="hello()"></Label>
Do check out the demo for a quickstart
API
Property | Type | Default | Description |
---|---|---|---|
delay | number | 300 | The time between each processed tap in milliseconds. |
anim | string | n/a | The way the interaction is to be animated. Possible values: 'composite', 'opacity', 'scale'. Scale => The element is magnified and returned to its original state. Opacity => The element has its opacity dropped to 0.6 and then returns to normal, like TouchableOpacity in React Native (not the values, the behavior). Composite => Performs both animations symultaneously. |
scale | number | 1.2 | The scale to use when magnifying the element. Set this in order to keep the animation as seamless as possible. |
opacity | number | 0.6 | The opacity used to animate the interaction. Set it to your liking, the default value can be hard to see on some scenarios so keep that in mind! |
debounceTap | EventEmitter |
n/a | The event that is emitted when a tap is processed. The $event variable will have a reference to the element that was tapped (as an ElementRef). In case the scale animation is not your thing you can set [anim] to false and make one that suits you in this callback yourself. |
Changelog
1.2.0 - Added the opacity @Input property to the directive for further customization. 1.1.0 - Added opacity animation as an option. 1.0.0 - Initial implementation
License
Apache License Version 2.0, January 2004