From e10810ded8457e45921934359bc1e4fcb35fa785 Mon Sep 17 00:00:00 2001
From: Eric Eastwood <contact@ericeastwood.com>
Date: Mon, 13 Mar 2017 17:46:21 -0500
Subject: [PATCH] Fix missing blob line permalink updater on blob:show

See
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9461#note_25288831
---
 app/assets/javascripts/dispatcher.js | 44 +++++++++++++---------------
 1 file changed, 21 insertions(+), 23 deletions(-)

diff --git a/app/assets/javascripts/dispatcher.js b/app/assets/javascripts/dispatcher.js
index f0967d4f470..6d8174e199e 100644
--- a/app/assets/javascripts/dispatcher.js
+++ b/app/assets/javascripts/dispatcher.js
@@ -67,6 +67,25 @@ const UserCallout = require('./user_callout');
       }
       path = page.split(':');
       shortcut_handler = null;
+
+      function initBlob() {
+        new LineHighlighter();
+
+        new BlobLinePermalinkUpdater(
+          document.querySelector('#blob-content-holder'),
+          '.diff-line-num[data-line-number]',
+          document.querySelectorAll('.js-data-file-blob-permalink-url, .js-blob-blame-link'),
+        );
+
+        shortcut_handler = new ShortcutsNavigation();
+        fileBlobPermalinkUrlElement = document.querySelector('.js-data-file-blob-permalink-url');
+        fileBlobPermalinkUrl = fileBlobPermalinkUrlElement && fileBlobPermalinkUrlElement.getAttribute('href');
+        new ShortcutsBlob({
+          skipResetBindings: true,
+          fileBlobPermalinkUrl,
+        });
+      }
+
       switch (page) {
         case 'sessions:new':
           new UsernameValidator();
@@ -259,34 +278,13 @@ const UserCallout = require('./user_callout');
           break;
         case 'projects:blob:show':
           gl.TargetBranchDropDown.bootstrap();
-          new LineHighlighter();
-          shortcut_handler = new ShortcutsNavigation();
-          fileBlobPermalinkUrlElement = document.querySelector('.js-data-file-blob-permalink-url');
-          fileBlobPermalinkUrl = fileBlobPermalinkUrlElement && fileBlobPermalinkUrlElement.getAttribute('href');
-          new ShortcutsBlob({
-            skipResetBindings: true,
-            fileBlobPermalinkUrl,
-          });
+          initBlob();
           break;
         case 'projects:blob:edit':
           gl.TargetBranchDropDown.bootstrap();
           break;
         case 'projects:blame:show':
-          new LineHighlighter();
-
-          new BlobLinePermalinkUpdater(
-            document.querySelector('#blob-content-holder'),
-            '.diff-line-num[data-line-number]',
-            document.querySelectorAll('.js-data-file-blob-permalink-url, .js-blob-blame-link'),
-          );
-
-          shortcut_handler = new ShortcutsNavigation();
-          fileBlobPermalinkUrlElement = document.querySelector('.js-data-file-blob-permalink-url');
-          fileBlobPermalinkUrl = fileBlobPermalinkUrlElement && fileBlobPermalinkUrlElement.getAttribute('href');
-          new ShortcutsBlob({
-            skipResetBindings: true,
-            fileBlobPermalinkUrl,
-          });
+          initBlob();
           break;
         case 'groups:labels:new':
         case 'groups:labels:edit':
-- 
GitLab