Skip to content

Instantly share code, notes, and snippets.

@nxpatterns
Forked from LironHazan/registerTransitionEnd.ts
Created January 26, 2022 07:50
Show Gist options
  • Save nxpatterns/0638be7c748125baad7dcef720a971c1 to your computer and use it in GitHub Desktop.
Save nxpatterns/0638be7c748125baad7dcef720a971c1 to your computer and use it in GitHub Desktop.

Revisions

  1. @LironHazan LironHazan revised this gist Oct 13, 2020. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions registerTransitionEnd.ts
    Original file line number Diff line number Diff line change
    @@ -1,8 +1,8 @@
    registerTransitionEnd<T extends {propertyName}>(el: FromEventTarget<T>, propName: string) {
    // Returns an Observable from DOM event
    fromEvent(el, 'transitionend')
    .pipe(
    takeUntil(this._ngUnSubscribe),
    filter(({ propertyName }: T) => propertyName === propName)
    filter(({ propertyName }: T) => propertyName === propName) // Will only emit value for the wanted css prop name e.g. height
    )
    .subscribe((_) => {
    this.transitionEnd.emit();
  2. @LironHazan LironHazan created this gist Oct 10, 2020.
    10 changes: 10 additions & 0 deletions registerTransitionEnd.ts
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,10 @@
    registerTransitionEnd<T extends {propertyName}>(el: FromEventTarget<T>, propName: string) {
    fromEvent(el, 'transitionend')
    .pipe(
    takeUntil(this._ngUnSubscribe),
    filter(({ propertyName }: T) => propertyName === propName)
    )
    .subscribe((_) => {
    this.transitionEnd.emit();
    });
    }