summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/repository
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-11-25 18:06:04 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2019-11-25 18:06:04 +0000
commit801ced25ff0540b096c395f9ac8d2d9e005878e8 (patch)
tree4f3ee19fd0facc1bcda8b93881981ab3315b9658 /app/assets/javascripts/repository
parented9c54b56af280cc552aaac1cfa55533c900c1be (diff)
downloadgitlab-ce-801ced25ff0540b096c395f9ac8d2d9e005878e8.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/repository')
-rw-r--r--app/assets/javascripts/repository/components/breadcrumbs.vue2
-rw-r--r--app/assets/javascripts/repository/index.js8
-rw-r--r--app/assets/javascripts/repository/utils/dom.js9
3 files changed, 17 insertions, 2 deletions
diff --git a/app/assets/javascripts/repository/components/breadcrumbs.vue b/app/assets/javascripts/repository/components/breadcrumbs.vue
index afb58a60155..f6b9ea5d30d 100644
--- a/app/assets/javascripts/repository/components/breadcrumbs.vue
+++ b/app/assets/javascripts/repository/components/breadcrumbs.vue
@@ -124,7 +124,7 @@ export default {
},
{
attrs: {
- href: this.newBlobPath,
+ href: `${this.newBlobPath}${this.currentPath}`,
class: 'qa-new-file-option',
},
text: __('New file'),
diff --git a/app/assets/javascripts/repository/index.js b/app/assets/javascripts/repository/index.js
index d826f209815..ae6409a0ac9 100644
--- a/app/assets/javascripts/repository/index.js
+++ b/app/assets/javascripts/repository/index.js
@@ -7,6 +7,7 @@ import TreeActionLink from './components/tree_action_link.vue';
import DirectoryDownloadLinks from './components/directory_download_links.vue';
import apolloProvider from './graphql';
import { setTitle } from './utils/title';
+import { updateFormAction } from './utils/dom';
import { parseBoolean } from '../lib/utils/common_utils';
import { webIDEUrl } from '../lib/utils/url_utility';
import { __ } from '../locale';
@@ -42,8 +43,15 @@ export default function setupVueRepositoryList() {
forkNewBlobPath,
forkNewDirectoryPath,
forkUploadBlobPath,
+ uploadPath,
+ newDirPath,
} = breadcrumbEl.dataset;
+ router.afterEach(({ params: { pathMatch = '/' } }) => {
+ updateFormAction('.js-upload-blob-form', uploadPath, pathMatch);
+ updateFormAction('.js-create-dir-form', newDirPath, pathMatch);
+ });
+
// eslint-disable-next-line no-new
new Vue({
el: breadcrumbEl,
diff --git a/app/assets/javascripts/repository/utils/dom.js b/app/assets/javascripts/repository/utils/dom.js
index 963e6fc0bc4..81565a00d82 100644
--- a/app/assets/javascripts/repository/utils/dom.js
+++ b/app/assets/javascripts/repository/utils/dom.js
@@ -1,4 +1,11 @@
-// eslint-disable-next-line import/prefer-default-export
export const updateElementsVisibility = (selector, isVisible) => {
document.querySelectorAll(selector).forEach(elem => elem.classList.toggle('hidden', !isVisible));
};
+
+export const updateFormAction = (selector, basePath, path) => {
+ const form = document.querySelector(selector);
+
+ if (form) {
+ form.action = `${basePath}${path}`;
+ }
+};