🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

angular-form-status-workaround

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

angular-form-status-workaround

Workaround for an Angular form bug with async validators

2.0.1
latest
Source
npm
Version published
Weekly downloads
13
-64.86%
Maintainers
1
Weekly downloads
 
Created
Source

npm version

Angular form status workaround

Angular forms can sometimes be stuck pending as described in https://github.com/angular/angular/issues/13200 and https://github.com/angular/angular/issues/14542.

This RxJS operator provides a temporary workaround until this issue is fixed upstream. When the bug is fixed, this library will be deprecated.

Example usage

import { fixFormStatus } from 'angular-form-status-workaround';

form.statusChanges.pipe(
    fixFormStatus(form),
).subscribe(s => {
    // WILL emit when the async validators complete and not stay stuck at PENDING
});

This operator can also be used on any subclass of AbstractControl.

It is also possible to state the rate at which the status will be checked by passing the time in milliseconds as a second argument. Example: fixFormStatus(form, 100). The default rate is 250ms.

Unsubscribing

statusChanges like valueChanges returns an observable that does not complete. You must unsubscribe to avoid memory leaks and unwanted behavior. This can be achieved using takeUntil and takeWhile.

Examples

Only get notified when status is no longer pending.

this.form.statusChanges.pipe(
    fixFormStatus(this.form),
    takeWhile(status => status === 'PENDING', true),
    last(),
).subscribe(() => {
    // Emits once when status is no longer pending, then completes
});

Keywords

Angular

FAQs

Package last updated on 28 May 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts