Skip to content

Commit 8deb1c2

Browse files
committed
Fixed stealing of hash fragments when using navigation tracking
1 parent e3c2621 commit 8deb1c2

File tree

6 files changed

+23
-17
lines changed

6 files changed

+23
-17
lines changed

material/assets/javascripts/bundle.cd6d3f86.min.js renamed to material/assets/javascripts/bundle.9f3ca3d1.min.js

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

material/assets/javascripts/bundle.9f3ca3d1.min.js.map

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

material/assets/javascripts/bundle.cd6d3f86.min.js.map

Lines changed: 0 additions & 8 deletions
This file was deleted.

material/base.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@
213213
</script>
214214
{% endblock %}
215215
{% block scripts %}
216-
<script src="{{ 'assets/javascripts/bundle.cd6d3f86.min.js' | url }}"></script>
216+
<script src="{{ 'assets/javascripts/bundle.9f3ca3d1.min.js' | url }}"></script>
217217
{% for path in config["extra_javascript"] %}
218218
<script src="{{ path | url }}"></script>
219219
{% endfor %}

src/assets/javascripts/bundle.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ const content$ = defer(() => merge(
229229

230230
/* Table of contents */
231231
...getComponentElements("toc")
232-
.map(el => mountTableOfContents(el, { viewport$, header$ })),
232+
.map(el => mountTableOfContents(el, { viewport$, header$, target$ })),
233233

234234
/* Back-to-top button */
235235
...getComponentElements("top")

src/assets/javascripts/components/toc/index.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@ import {
3232
finalize,
3333
map,
3434
of,
35+
repeat,
3536
scan,
37+
skip,
3638
startWith,
3739
switchMap,
3840
takeLast,
@@ -83,6 +85,7 @@ interface WatchOptions {
8385
interface MountOptions {
8486
viewport$: Observable<Viewport> /* Viewport observable */
8587
header$: Observable<Header> /* Header observable */
88+
target$: Observable<HTMLElement> /* Location target observable */
8689
}
8790

8891
/* ----------------------------------------------------------------------------
@@ -247,7 +250,7 @@ export function watchTableOfContents(
247250
* @returns Table of contents component observable
248251
*/
249252
export function mountTableOfContents(
250-
el: HTMLElement, { viewport$, header$ }: MountOptions
253+
el: HTMLElement, { viewport$, header$, target$ }: MountOptions
251254
): Observable<Component<TableOfContents>> {
252255
return defer(() => {
253256
const push$ = new Subject<TableOfContents>()
@@ -278,6 +281,9 @@ export function mountTableOfContents(
278281
takeUntil(push$.pipe(takeLast(1))),
279282
distinctUntilKeyChanged("offset"),
280283
debounceTime(250),
284+
skip(1),
285+
takeUntil(target$.pipe(skip(1))),
286+
repeat({ delay: 250 }),
281287
withLatestFrom(push$)
282288
)
283289
.subscribe(([, { prev }]) => {

0 commit comments

Comments
 (0)