An Angular library that wraps the awesome [AutoNumeric](https://github.com/autoNumeric/autoNumeric/) input formatter library
npm install @angularfy/ng-autonumeric element managed by AutoNumeric.
ng-autonumeric via npm:
shell
npm install --save @angularfy/ng-autonumeric
`
or yarn :
`shell
yarn add @angularfy/ng-autonumeric
`
Once installed you need to import our main module:
`js
import { NgAutonumericModule } from '@angularfy/ng-autonumeric';
@NgModule({
...
imports: [NgAutonumericModule, ...],
...
})
export class YourAppModule {
}
`
$3
The AutoNumeric component can be instantiated the same way AutoNumeric can.
After importing the NgAutonumericModule, in your component, you can define your options as follow :
`js
this.myOptions = {
digitGroupSeparator: '.',
decimalCharacter: ',',
decimalCharacterAlternative: '.',
currencySymbol: '\u00a0€',
currencySymbolPlacement: 's',
roundingMethod: 'U',
minimumValue: '0'
}
`
in your HTML :
`html
[(ngModel)]="myValue"
[options]="myOptions">
`
or simply with a predefined option name:
`html
[(ngModdel)]="myValue"
[options]="'French'">
`
you can also use object literal as options directly in HTML
`html
[(ngModdel)]="myValue"
[options]="{
digitGroupSeparator: '.',
decimalCharacter: ',',
decimalCharacterAlternative: '.',
currencySymbol: '\u00a0€',
currencySymbolPlacement: 's',
roundingMethod: 'U',
minimumValue: '0'
}">
`
#### How to use the NgAutonumericDirective (since v1.0.1)
for better integration with input tag, we provide a directive :
` HTML
`
If you want to keep your ngModel synchronized please use two-way binding otherwise, you can capture the change or format event.
(format is more verbose, happens every time the input visually changes, the change event in the other hand, is triggered only when the user types something and leaves the input.)
#### Readonly mode
you can use the component in a reardonly mode :
` HTML
[(ngModdel)]="myValue"
[options]="myOptions" [readonly]="true">
`
in this case, we use a hidden input to instantiate the component & a span tag to display the value.
#### Styling
we are agnostic about how the input should be styled. you can define your own style rules
`css
ng-autonumeric input{
text-align:right;
}
`
#### Integration with other scripts & events support
This wrapper supports setting the AutoNumeric options via an options
It also supports external value changes (via myComponent.set(42) for instance) and update the formatting and the [ngModel] accordingly.
The paste, drop and wheel events are supported as well.
Moreover, if you modify the options attribute, the AutoNumeric settings will be automatically updated with the new options.
$3
The official AutoNumeric documentation
$3
- AutoNumeric ^v4
- Angular ^v4
$3
This supports the same browsers than AutoNumeric supports:
- Firefox and
- Chrome
(latest 2 versions)
If you use IE/Edge/Safari/Opera, this might work ;)
$3
I will be working on supporting more AutoNumeric events (only autonumeric:formatted is supported for now). If you have any suggestions please feel free to reach by email bellow.
$3
This project is hugely inspired from vue-js implementtation of AutoNumeric by Alexandre Bonneau
$3
As always, if you find this useful, please consider supporting its development!
Huge Thanks :)
$3
ng-autonumeric` is open-source and released under the [MIT License]