ngx-format-field
TypeScript icon, indicating that this package has built-in type declarations

2.0.5 • Public • Published

NgxFormatField

  • A Directive to format the model value which will appear in the view. It will not manipulate the Input value which will be saved in the model. This Library act as a pipe for input field. Pipes are used to format the data before displaying in the View.

Demo

https://angular-ydfct6.stackblitz.io/

Usage

Add the following directive as per requirement:

  • Comma Seperator Field with round off: [appFormatFields]="CURRENCY".
  • Comma Seperator Field: [appFormatFields]="COMMA".
  • Numeric Field with round off: [appFormatFields]="NUMERIC".
  • Alphabet Field: [appFormatFields]="ALPHABET".
  • For dynamic Regex Format: [appFormatFields]="PATTERN”, [formatRegex]="formatRegex" where ‘formatRegex’ is a dynamic regex pattern to be mentioned by the user in component.ts.
  • We can add options to append or prepend a string, by using this directive tag: [options]="options" where option will be { prefix: string, suffix: string }

Implementation

Replace the ‘CURRENCY’ with the directive as per requirement.

1) In module.ts

import { NgxFormatFieldModule } from 'ngx-format-field';
imports[ NgxFormatFieldModule ]

2) In component.ts

public CURRENCYstring;
public formatRegexstring;
uiForm = this.formBuilder.group({
currency: [''],
});
 
ngOnInit() {
 
this.CURRENCY = 'CURRENCY';
this. formatRegex = '^[0-9!@#$%^&]+$ ';
}
onChangeReactiveForm(keystring) {
this.uiForm.get(key).patchValue(this.uiForm.get(key).value);
}
onChangeTemplateDrivenForm(formNgForm) {
form.form.get('name').patchValue(this.name);
this.name = this.name;
}

3) In HTML

For Currency:

  <input type="text" formControlName="currency" [appFormatFields]="CURRENCY"
   (change)="onChangeReactiveForm('currency')">

For Dynamic Regex Check:

 <input type="text" formControlName="pattern" [appFormatFields]="PATTERN" 
 [formatRegex]="uiForm.get('formatRegex').value"
  (change)="onChangeReactiveForm('pattern')">

Output

Directive Attribute Attribute Input Value which will appear in the view on tab out Input value which will be saved in the model
[appFormatFields] [formatRegex] NA NA
"CURRENCY" NA 12345.6789 12,346 12345.6789
NA abcd489739abc NA
"COMMA" NA 12345.6789 12,345.679 12345.6789
NA abcd489739abc NA
"NUMERIC" NA 1234.567 1235 1234.567
NA 1234abc NA
"ALPHABET" NA ABCDabcd ABCDabcd ABCDabcd
NA ABCDabcd1234 NA
"PATTERN" ^[0-9!@#$%^&]+$ 123!@#$123 123!@#$123 123!@#$123
NA 1234abc NA

Package Sidebar

Install

npm i ngx-format-field

Weekly Downloads

1

Version

2.0.5

License

none

Unpacked Size

132 kB

Total Files

23

Last publish

Collaborators

  • moumitak2011