feat: allow selecting a parent project when creating a project
This commit is contained in:
parent
799c0be830
commit
ce887c38f3
@ -169,6 +169,7 @@
|
|||||||
"title": "Project Title",
|
"title": "Project Title",
|
||||||
"color": "Color",
|
"color": "Color",
|
||||||
"projects": "Projects",
|
"projects": "Projects",
|
||||||
|
"parent": "Parent Project",
|
||||||
"search": "Type to search for a project…",
|
"search": "Type to search for a project…",
|
||||||
"searchSelect": "Click or press enter to select this project",
|
"searchSelect": "Click or press enter to select this project",
|
||||||
"shared": "Shared Projects",
|
"shared": "Shared Projects",
|
||||||
|
@ -22,6 +22,12 @@
|
|||||||
<p class="help is-danger" v-if="showError && project.title === ''">
|
<p class="help is-danger" v-if="showError && project.title === ''">
|
||||||
{{ $t('project.create.addTitleRequired') }}
|
{{ $t('project.create.addTitleRequired') }}
|
||||||
</p>
|
</p>
|
||||||
|
<div class="field">
|
||||||
|
<label class="label">{{ $t('project.parent') }}</label>
|
||||||
|
<div class="control">
|
||||||
|
<project-search v-model="parentProject"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="label">{{ $t('project.color') }}</label>
|
<label class="label">{{ $t('project.color') }}</label>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
@ -44,6 +50,8 @@ import ColorPicker from '@/components/input/ColorPicker.vue'
|
|||||||
import {success} from '@/message'
|
import {success} from '@/message'
|
||||||
import {useTitle} from '@/composables/useTitle'
|
import {useTitle} from '@/composables/useTitle'
|
||||||
import {useProjectStore} from '@/stores/projects'
|
import {useProjectStore} from '@/stores/projects'
|
||||||
|
import ProjectSearch from '@/components/tasks/partials/projectSearch.vue'
|
||||||
|
import type {IProject} from '@/modelTypes/IProject'
|
||||||
|
|
||||||
const {t} = useI18n({useScope: 'global'})
|
const {t} = useI18n({useScope: 'global'})
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
@ -55,6 +63,7 @@ const showError = ref(false)
|
|||||||
const project = reactive(new ProjectModel())
|
const project = reactive(new ProjectModel())
|
||||||
const projectService = shallowReactive(new ProjectService())
|
const projectService = shallowReactive(new ProjectService())
|
||||||
const projectStore = useProjectStore()
|
const projectStore = useProjectStore()
|
||||||
|
const parentProject = ref<IProject | null>(null)
|
||||||
|
|
||||||
async function createNewProject() {
|
async function createNewProject() {
|
||||||
if (project.title === '') {
|
if (project.title === '') {
|
||||||
@ -63,6 +72,10 @@ async function createNewProject() {
|
|||||||
}
|
}
|
||||||
showError.value = false
|
showError.value = false
|
||||||
|
|
||||||
|
if (parentProject.value) {
|
||||||
|
project.parentProjectId = parentProject.value.id
|
||||||
|
}
|
||||||
|
|
||||||
const newProject = await projectStore.createProject(project)
|
const newProject = await projectStore.createProject(project)
|
||||||
await router.push({
|
await router.push({
|
||||||
name: 'project.index',
|
name: 'project.index',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user