summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/repo/components/repo_sidebar.vue
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/repo/components/repo_sidebar.vue')
-rw-r--r--app/assets/javascripts/repo/components/repo_sidebar.vue22
1 files changed, 12 insertions, 10 deletions
diff --git a/app/assets/javascripts/repo/components/repo_sidebar.vue b/app/assets/javascripts/repo/components/repo_sidebar.vue
index 99bf471b83d..10de23d0199 100644
--- a/app/assets/javascripts/repo/components/repo_sidebar.vue
+++ b/app/assets/javascripts/repo/components/repo_sidebar.vue
@@ -33,26 +33,25 @@ export default {
// Maybe it is not in the current tree but in the opened tabs
selectedFile = Helper.getFileFromPath(location.pathname);
}
+
+ let lineNumber = null;
+ if (location.hash.indexOf('#L') > -1) lineNumber = Number(location.hash.substr(2));
+
if (selectedFile) {
if (selectedFile.url !== this.activeFile.url) {
- this.fileClicked(selectedFile);
- }
-
- if (location.hash.indexOf('#L') > -1) {
- const lineNumber = Number(location.hash.substr(2));
- if (!isNaN(lineNumber)) {
- Store.setActiveLine(lineNumber);
- }
+ this.fileClicked(selectedFile, lineNumber);
+ } else {
+ Store.setActiveLine(lineNumber);
}
} else {
// Not opened at all lets open new tab
this.fileClicked({
url: location.href,
- });
+ }, lineNumber);
}
},
- fileClicked(clickedFile) {
+ fileClicked(clickedFile, lineNumber) {
let file = clickedFile;
if (file.loading) return;
file.loading = true;
@@ -60,17 +59,20 @@ export default {
if (file.type === 'tree' && file.opened) {
file = Store.removeChildFilesOfTree(file);
file.loading = false;
+ Store.setActiveLine(lineNumber);
} else {
const openFile = Helper.getFileFromPath(file.url);
if (openFile) {
file.loading = false;
Store.setActiveFiles(openFile);
+ Store.setActiveLine(lineNumber);
} else {
Service.url = file.url;
Helper.getContent(file)
.then(() => {
file.loading = false;
Helper.scrollTabsRight();
+ Store.setActiveLine(lineNumber);
})
.catch(Helper.loadingError);
}