diff --git a/app/assets/javascripts/projects/new_v2/components/app.vue b/app/assets/javascripts/projects/new_v2/components/app.vue index 7de862a21aeafe1ebbf15cb74502219fe156f8ad..a446c3cdcbb9f73fbf6fd1c475958c98b35d9169 100644 --- a/app/assets/javascripts/projects/new_v2/components/app.vue +++ b/app/assets/javascripts/projects/new_v2/components/app.vue @@ -10,10 +10,6 @@ import { OPTIONS } from '../constants'; import NewProjectDestinationSelect from './project_destination_select.vue'; import Breadcrumb from './form_breadcrumb.vue'; import CommandLine from './command_line.vue'; -import BlankProjectForm from './blank_project_form.vue'; -import TemplateProjectForm from './template_project_form.vue'; -import CiCdProjectForm from './ci_cd_project_form.vue'; -import ImportProjectForm from './import_project_form.vue'; export default { OPTIONS, @@ -29,10 +25,6 @@ export default { NewProjectDestinationSelect, Breadcrumb, CommandLine, - BlankProjectForm, - TemplateProjectForm, - CiCdProjectForm, - ImportProjectForm, }, directives: { SafeHtml, @@ -113,6 +105,8 @@ export default { return { selectedNamespace: this.namespaceId && this.canSelectNamespace ? this.namespaceId : this.userNamespaceId, + selectedProjectType: OPTIONS.blank.value, + currentStep: 1, rootUrl: this.rootPath, }; }, @@ -149,6 +143,12 @@ export default { OPTIONS.transfer, ]; }, + selectedProjectOption() { + return this.availableProjectTypes.find((type) => type.value === this.selectedProjectType); + }, + step2Component() { + return this.selectedProjectOption.component; + }, }, methods: { @@ -158,6 +158,15 @@ export default { chooseGroupNamespace() { this.selectedNamespace = null; }, + selectProjectType(value) { + this.selectedProjectType = value; + }, + onBack() { + this.currentStep -= 1; + }, + onNext() { + this.currentStep += 1; + }, }, }; @@ -166,7 +175,12 @@ export default {
- + @@ -233,9 +256,13 @@ export default { - - - - +
diff --git a/app/assets/javascripts/projects/new_v2/components/blank_project_form.vue b/app/assets/javascripts/projects/new_v2/components/blank_project_form.vue index c7a98d71ab745f0ae30dbd39d90e3c0fef04a32a..eef9745372c6f7eec09e639065d828a068e4503d 100644 --- a/app/assets/javascripts/projects/new_v2/components/blank_project_form.vue +++ b/app/assets/javascripts/projects/new_v2/components/blank_project_form.vue @@ -8,23 +8,24 @@ export default { MultiStepFormTemplate, }, props: { - title: { - type: String, - required: true, + option: { + type: Object, + required: false, + default: () => ({}), }, }, };