Fixed details not opening on navigation (7.0.0 regression)

This commit is contained in:
squidfunk
2021-09-19 15:08:27 +02:00
parent 4a2af4ceaf
commit 726888cb56
5 changed files with 25 additions and 16 deletions

View File

@@ -20,8 +20,13 @@
* IN THE SOFTWARE.
*/
import { Observable, fromEvent, of } from "rxjs"
import { filter, map, share, startWith, switchMap } from "rxjs/operators"
import { Observable, fromEvent } from "rxjs"
import {
filter,
map,
shareReplay,
startWith
} from "rxjs/operators"
import { createElement, getElement } from "~/browser"
@@ -68,7 +73,7 @@ export function watchLocationHash(): Observable<string> {
map(getLocationHash),
startWith(getLocationHash()),
filter(hash => hash.length > 0),
share()
shareReplay(1)
)
}
@@ -80,6 +85,7 @@ export function watchLocationHash(): Observable<string> {
export function watchLocationTarget(): Observable<HTMLElement> {
return watchLocationHash()
.pipe(
switchMap(id => of(getElement(`[id="${id}"]`)!))
map(id => getElement(`[id="${id}"]`)!),
filter(el => typeof el !== "undefined")
)
}