Socket
Socket
Sign inDemoInstall

angular-form-status-workaround

Package Overview
Dependencies
8
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    angular-form-status-workaround

Workaround for an Angular form bug with async validators


Version published
Weekly downloads
56
increased by40%
Maintainers
1
Install size
25.0 MB
Created
Weekly downloads
 

Readme

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

FAQs

Last updated on 28 May 2020

Did you know?

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc