add edit project page
This commit is contained in:
parent
ab6b1d76be
commit
ffc6332894
|
|
@ -0,0 +1,41 @@
|
||||||
|
<template>
|
||||||
|
<project-form
|
||||||
|
:project="project"
|
||||||
|
@save="updateProject"
|
||||||
|
></project-form>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import ProjectForm from '@/components/portfolio/ProjectForm';
|
||||||
|
|
||||||
|
import UPDATE_PROJECT_MUTATION from '@/graphql/gql/mutations/updateProject.gql';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
props: ['project'],
|
||||||
|
|
||||||
|
components: {
|
||||||
|
ProjectForm
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
updateProject(project) {
|
||||||
|
this.$apollo.mutate({
|
||||||
|
mutation: UPDATE_PROJECT_MUTATION,
|
||||||
|
variables: {
|
||||||
|
input: {
|
||||||
|
project: {
|
||||||
|
id: project.id,
|
||||||
|
title: project.title,
|
||||||
|
description: project.description,
|
||||||
|
appearance: project.appearance,
|
||||||
|
objectives: project.objectives
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).then(() => {
|
||||||
|
this.$router.push('/portfolio');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
<template>
|
||||||
|
<div class="edit-project-page">
|
||||||
|
<edit-project :project="project" v-if="this.project.id"></edit-project>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
// todo: refactor this, we don't need 2 components, remove editRoom or EditRoom component
|
||||||
|
import EditProject from '@/components/portfolio/EditProject';
|
||||||
|
|
||||||
|
import PROJECT_QUERY from '@/graphql/gql/projectQuery.gql';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
props: ['id'],
|
||||||
|
|
||||||
|
components: {
|
||||||
|
EditProject
|
||||||
|
},
|
||||||
|
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
project: {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
apollo: {
|
||||||
|
project: {
|
||||||
|
query: PROJECT_QUERY,
|
||||||
|
variables() {
|
||||||
|
return {
|
||||||
|
id: this.id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
@ -18,6 +18,7 @@ import start from '@/pages/start'
|
||||||
import submission from '@/pages/studentSubmission'
|
import submission from '@/pages/studentSubmission'
|
||||||
import portfolio from '@/pages/portfolio'
|
import portfolio from '@/pages/portfolio'
|
||||||
import project from '@/pages/project'
|
import project from '@/pages/project'
|
||||||
|
import editProject from '@/pages/editProject'
|
||||||
import newProject from '@/pages/newProject'
|
import newProject from '@/pages/newProject'
|
||||||
|
|
||||||
const routes = [
|
const routes = [
|
||||||
|
|
@ -53,6 +54,7 @@ const routes = [
|
||||||
{path: '/portfolio', name: 'portfolio', component: portfolio},
|
{path: '/portfolio', name: 'portfolio', component: portfolio},
|
||||||
{path: '/portfolio/:slug', name: 'project', component: project, props: true},
|
{path: '/portfolio/:slug', name: 'project', component: project, props: true},
|
||||||
{path: '/new-project/', name: 'new-project', component: newProject},
|
{path: '/new-project/', name: 'new-project', component: newProject},
|
||||||
|
{path: '/edit-project/:id', name: 'edit-project', component: editProject, props: true},
|
||||||
{
|
{
|
||||||
path: '/book',
|
path: '/book',
|
||||||
name: 'book',
|
name: 'book',
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue