Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-07-16 15:08:40 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-07-16 15:08:40 +0300
commitd43cb0f90723230c4aa617cb17a0cb6fb099f47e (patch)
treea8116eeba909c07909ccc030e8d40ab40d198aa3 /app/assets/javascripts/import_entities
parentc8278708638ed998a8ecfeac26e7d9561b6125f8 (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.vue15
-rw-r--r--app/assets/javascripts/import_entities/import_groups/index.js4
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,
},
});
},