Fixed emission of active layer element

This commit is contained in:
squidfunk
2020-02-11 12:13:42 +01:00
parent ec9ad27251
commit de73cac7b8
6 changed files with 11 additions and 12 deletions

View File

@@ -30,10 +30,10 @@ import {
pipe
} from "rxjs"
import {
bufferCount,
delay,
map,
observeOn,
scan,
shareReplay,
tap
} from "rxjs/operators"
@@ -52,8 +52,8 @@ import { getElement, getElements } from "utilities"
* Active layer
*/
export interface ActiveLayer {
prev?: HTMLElement /* Anchors (previous) */
next: HTMLElement /* Anchors (next) */
prev?: HTMLElement /* Layer (previous) */
next: HTMLElement /* Layer (next) */
}
/* ----------------------------------------------------------------------------
@@ -97,9 +97,8 @@ export function watchActiveLayer(
/* Return previous and next layer */
return active$
.pipe(
// TODO: this doesnt emit correctly
bufferCount(2, 1),
map(([prev, next]) => ({ prev, next })),
map(next => ({ next })),
scan(({ next: prev }, { next }) => ({ prev, next })),
shareReplay(1)
)
}