From 4a94a2b4e81d8b5d773ebeaa671b78ac4bf9a408 Mon Sep 17 00:00:00 2001
From: Fabio Berger <me@fabioberger.com>
Date: Thu, 8 Mar 2018 16:38:25 +0100
Subject: Add support for going back to previous hashes via the browser back
 button to wiki

---
 packages/website/ts/pages/wiki/wiki.tsx | 8 ++++++++
 1 file changed, 8 insertions(+)

(limited to 'packages/website/ts/pages/wiki/wiki.tsx')

diff --git a/packages/website/ts/pages/wiki/wiki.tsx b/packages/website/ts/pages/wiki/wiki.tsx
index 18074c302..f6cff51e4 100644
--- a/packages/website/ts/pages/wiki/wiki.tsx
+++ b/packages/website/ts/pages/wiki/wiki.tsx
@@ -67,6 +67,9 @@ export class Wiki extends React.Component<WikiProps, WikiState> {
             isHoveringSidebar: false,
         };
     }
+    public componentDidMount() {
+        window.addEventListener('hashchange', this._onHashChanged.bind(this), false);
+    }
     public componentWillMount() {
         // tslint:disable-next-line:no-floating-promises
         this._fetchArticlesBySectionAsync();
@@ -74,6 +77,7 @@ export class Wiki extends React.Component<WikiProps, WikiState> {
     public componentWillUnmount() {
         this._isUnmounted = true;
         clearTimeout(this._wikiBackoffTimeoutId);
+        window.removeEventListener('hashchange', this._onHashChanged.bind(this), false);
     }
     public render() {
         const menuSubsectionsBySection = _.isUndefined(this.state.articlesBySection)
@@ -246,4 +250,8 @@ export class Wiki extends React.Component<WikiProps, WikiState> {
             isHoveringSidebar: false,
         });
     }
+    private _onHashChanged(event: any) {
+        const hash = window.location.hash.slice(1);
+        sharedUtils.scrollToHash(hash, sharedConstants.SCROLL_CONTAINER_ID);
+    }
 }
-- 
cgit v1.2.3

