diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-07-16 15:08:40 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-07-16 15:08:40 +0300 |
commit | d43cb0f90723230c4aa617cb17a0cb6fb099f47e (patch) | |
tree | a8116eeba909c07909ccc030e8d40ab40d198aa3 /app/assets/javascripts/import_entities | |
parent | c8278708638ed998a8ecfeac26e7d9561b6125f8 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/import_entities')
-rw-r--r-- | app/assets/javascripts/import_entities/import_groups/components/import_table.vue | 15 | ||||
-rw-r--r-- | app/assets/javascripts/import_entities/import_groups/index.js | 4 |
2 files changed, 17 insertions, 2 deletions
diff --git a/app/assets/javascripts/import_entities/import_groups/components/import_table.vue b/app/assets/javascripts/import_entities/import_groups/components/import_table.vue index 6b96fa7c45c..98ee858ca91 100644 --- a/app/assets/javascripts/import_entities/import_groups/components/import_table.vue +++ b/app/assets/javascripts/import_entities/import_groups/components/import_table.vue @@ -78,6 +78,11 @@ export default { type: String, required: true, }, + defaultTargetNamespace: { + type: Number, + required: false, + default: null, + }, }, data() { @@ -433,7 +438,15 @@ export default { return this.importTargets[group.id]; } - const defaultTargetNamespace = this.availableNamespaces[0] ?? ROOT_NAMESPACE; + // If we've reached this Vue application we have at least one potential import destination + const defaultTargetNamespace = + // first option: namespace id was explicitly provided + this.availableNamespaces.find((ns) => ns.id === this.defaultTargetNamespace) ?? + // second option: first available namespace + this.availableNamespaces[0] ?? + // last resort: if no namespaces are available - suggest creating new namespace at root + ROOT_NAMESPACE; + let importTarget; if (group.lastImportTarget) { const targetNamespace = [ROOT_NAMESPACE, ...this.availableNamespaces].find( diff --git a/app/assets/javascripts/import_entities/import_groups/index.js b/app/assets/javascripts/import_entities/import_groups/index.js index 02af0db7f9a..5d7e7911f5a 100644 --- a/app/assets/javascripts/import_entities/import_groups/index.js +++ b/app/assets/javascripts/import_entities/import_groups/index.js @@ -15,9 +15,10 @@ export function mountImportGroupsApp(mountElement) { availableNamespacesPath, createBulkImportPath, jobsPath, + historyPath, + defaultTargetNamespace, sourceUrl, groupPathRegex, - historyPath, } = mountElement.dataset; const apolloProvider = new VueApollo({ defaultClient: createApolloClient({ @@ -40,6 +41,7 @@ export function mountImportGroupsApp(mountElement) { jobsPath, groupPathRegex: new RegExp(`^(${groupPathRegex})$`), historyPath, + defaultTargetNamespace: parseInt(defaultTargetNamespace, 10) || null, }, }); }, |