ngx-number-spinner
Version:
168 lines (129 loc) • 4.31 kB
Markdown
[](https://www.npmjs.com/package/ngx-number-spinner/)
[](https://www.npmjs.com/package/ngx-number-spinner)
[](https://www.npmjs.com/package/ngx-number-spinner)

* [About](
* [Setup](
* [Documentation](
* [Issues](
* [Contributing](
* [Deploy](
This is a light-weight Angular 7+ component for adding a number spinner to your project.
* Try out [the demo](https://ngx-number-spinner.jrquick.com) to see it in action!
* Visit [my website](https://jrquick.com) for other cool projects!
* For Angular 7:
```bash
$ npm install ngx-number-spinner@^1.0.0 --save
```
* For Angular 8+:
```bash
$ npm install ngx-number-spinner --save
```
Add NumberPickerModule to `AppModule`
```typescript
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { NgxNumberSpinnerModule } from 'ngx-number-spinner';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
NgxNumberSpinnerModule
],
providers: [],
bootstrap: [
AppComponent
]
})
export class AppModule { }
```
```typescript
export class AppComponent {
change(value: number): void {
console.log(value);
}
}
```
```html
<ngx-number-spinner
[]="4"
(change)="change($event)"
[]="1">
</ngx-number-spinner>
```
```html
<ngx-number-spinner
[]="4"
(change)="change($event)"
[]="9">
</ngx-number-spinner>
```
```html
<ngx-number-spinner
[]="4"
(change)="change($event)"
[]="1"
[]="9">
</ngx-number-spinner>
```
```html
<ngx-number-spinner
(change)="change($event)"
[]="5">
</ngx-number-spinner>
```
--------------------------------------------------------------------------------------------------------------------
```typescript
import { FormBuilder, FormGroup, FormControl } from '@angular/forms';
export class AppComponent {
form: FormGroup;
constructor(private fb: FormBuilder) {
this.form = this.fb.group({
price: 11
});
}
submit() {
alert(JSON.stringify(this.form.value));
}
}
```
```html
<form [formGroup]="form" (submit)="submit()">
<ngx-number-spinner formControlName="price" [min]="1" [max]="9"></ngx-number-spinner>
<button type="submit">submit</button>
</form>
```
--------------------------------------------------------------------------------------------
| Attribute | Type | Required | Default | Description |
| :------------- |:-------------| :-----:| :----| :-----|
| value | [input] number | No | 0 | initial value for the spinner |
| min | [input] number | No | null | limit the minimal number |
| max | [input] number | No | null | limit the maximum number |
| spin | [input] number | No | 1 | increment or decrement by current number |
| vertical | [input] vertical|horizontal | No | horizontal | change the direction of the buttons |
| (change) | (output) number | no | - | emits the value of the current number, every time the user clicks the - or + button |
-------------------------------------------------------------------------------------------------------
If you find any issues feel free to open a request in [the Issues tab](https://github.com/mandhu/ngx-number-spinner/issues). If I have the time I will try to solve any issues but cannot make any guarantees. Feel free to contribute yourself.
To contribute, clone the repo. Then, run `npm install` to get the packages needed for the library to work.
* [mandhu](https://github.com/mandhu)
* [jrquick17](https://github.com/jrquick17)