summaryrefslogtreecommitdiff
path: root/app/assets
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2019-05-24 15:48:29 +0100
committerPhil Hughes <me@iamphill.com>2019-05-24 16:00:14 +0100
commitecf54c2316e7c62d6afe35885e79d97e6e6c13c7 (patch)
tree9addc75576373b3a7cb146d10dacd03cfe497eab /app/assets
parentc0ea4164cdc21e831fbbfa9dee48a6fa2766d9fc (diff)
downloadgitlab-ce-ecf54c2316e7c62d6afe35885e79d97e6e6c13c7.tar.gz
Update document title when repository router changes
Diffstat (limited to 'app/assets')
-rw-r--r--app/assets/javascripts/repository/index.js8
-rw-r--r--app/assets/javascripts/repository/utils/title.js7
2 files changed, 13 insertions, 2 deletions
diff --git a/app/assets/javascripts/repository/index.js b/app/assets/javascripts/repository/index.js
index 00b69362312..a5c125c2ff7 100644
--- a/app/assets/javascripts/repository/index.js
+++ b/app/assets/javascripts/repository/index.js
@@ -2,10 +2,12 @@ import Vue from 'vue';
import createRouter from './router';
import App from './components/app.vue';
import apolloProvider from './graphql';
+import { setTitle } from './utils/title';
export default function setupVueRepositoryList() {
const el = document.getElementById('js-tree-list');
- const { projectPath, ref } = el.dataset;
+ const { projectPath, ref, fullName } = el.dataset;
+ const router = createRouter(projectPath, ref);
apolloProvider.clients.defaultClient.cache.writeData({
data: {
@@ -14,9 +16,11 @@ export default function setupVueRepositoryList() {
},
});
+ router.afterEach(({ params: { pathMatch } }) => setTitle(pathMatch, ref, fullName));
+
return new Vue({
el,
- router: createRouter(projectPath, ref),
+ router,
apolloProvider,
render(h) {
return h(App);
diff --git a/app/assets/javascripts/repository/utils/title.js b/app/assets/javascripts/repository/utils/title.js
new file mode 100644
index 00000000000..3c3e918c0a8
--- /dev/null
+++ b/app/assets/javascripts/repository/utils/title.js
@@ -0,0 +1,7 @@
+// eslint-disable-next-line import/prefer-default-export
+export const setTitle = (pathMatch, ref, project) => {
+ const path = pathMatch.replace(/^\//, '');
+ const isEmpty = path === '';
+
+ document.title = `${isEmpty ? 'Files' : path} · ${ref} · ${project}`;
+};