diff options
author | Phil Hughes <me@iamphill.com> | 2019-05-24 15:48:29 +0100 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2019-05-24 16:00:14 +0100 |
commit | ecf54c2316e7c62d6afe35885e79d97e6e6c13c7 (patch) | |
tree | 9addc75576373b3a7cb146d10dacd03cfe497eab /app/assets | |
parent | c0ea4164cdc21e831fbbfa9dee48a6fa2766d9fc (diff) | |
download | gitlab-ce-ecf54c2316e7c62d6afe35885e79d97e6e6c13c7.tar.gz |
Update document title when repository router changes
Diffstat (limited to 'app/assets')
-rw-r--r-- | app/assets/javascripts/repository/index.js | 8 | ||||
-rw-r--r-- | app/assets/javascripts/repository/utils/title.js | 7 |
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}`; +}; |