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

Dependencies (1)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i ngx-format-field

    Weekly Downloads

    26

    Version

    2.0.5

    License

    none

    Unpacked Size

    132 kB

    Total Files

    23

    Last publish

    Collaborators

    • moumitak2011