JSPM

ion-cleave-directive

1.0.0
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • 0
    • Score
      100M100P100Q10872F
    • License MIT

    A cleaveJS package ready to use on Ionic

    Package Exports

    • ion-cleave-directive

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ion-cleave-directive) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    Angular Cleave Directive

    This directive integrates cleave.js into Angular Form and ready to use on Ionic 4+.

    It lies on a simple fact that Angular listens to input or ion-input event to bring the view-to-model binding into being.

    * According to the description of updateOn property of AbstractControlOptions interface, when updateOn is set to blur or submit, Angular listens to blur or submit event for model update. In this directive, update-on-blur case is handled in a hack way. No further processing is required for update-on-submit case.

    Since extra input and blur events are dispatched, if you bind a callback to input event or blur event, the callback will be invoked twice on input or blur.

    To overcome the disadvantage, a debounced function is recommended for the event binding.

    The directive works with Ionic 4+, Angular 5 and 6. To use it in Angular 4, you may import the .ts file directly (see Usage). For Angular 2, you may try it in Angular 4's way, but it's not tested.

    Usage

    1.Install cleave.js and ion-cleave-directive.

    npm i -S cleave.js ion-cleave-directive

    2.Import IonCleaveDirectiveModule to your Angular module.

    Angular 4

    import { IonCleaveDirectiveModule } from 'ion-cleave-directive/src';
    @NgModule({
      imports: [
        ...
        IonCleaveDirectiveModule,
        ...
      ],
      ...

    Angular 5+ / Ionic 4+

    import { IonCleaveDirectiveModule } from 'ion-cleave-directive';
    @NgModule({
      imports: [
        ...
        IonCleaveDirectiveModule,
        ...
      ],
      ...

    3.Add the "cleave" attribute to an input element or a textarea element and bind it with a legal cleave.js option.

    <ion-input type="text" ... [cleave]="{creditCard: true}"></ion-input>
    <input type="text" ... [cleave]="{creditCard: true}">

    Note: The cleave directive should be used with the ngModel, formControl or formControlName directives.

    4.Import any cleave.js addon if needed.

    e.g.

    import 'cleave.js/dist/addons/cleave-phone.au-cn.js';

    5.Cleave.js version compatibility

    Cleave.js ion-cleave-directive
    1.5.1+ 1.0.x

    For more details, please refer to cleave.js official site.