Merge branch 'feature/note-creation-frontend'

This commit is contained in:
Hubert Van De Walle 2020-04-12 22:46:22 +02:00
commit 735da45324
3 changed files with 112 additions and 0 deletions

View File

@ -0,0 +1,84 @@
<template>
<div>
<b-card class="mt-3" header="Create a note">
<b-form @submit.prevent="createNote">
<b-form-group id="title-group" label="Title:" label-for="title">
<b-form-input
id="title"
size="lg"
v-model="form.title"
required
placeholder="Enter a title"
add-on-change
></b-form-input>
</b-form-group>
<b-form-group id="tags-group" label="Tags:" label-for="tags">
<b-form-tags
input-id="tags"
v-model="form.tags"
tag-variant="primary"
separator=" ,;"
remove-on-delete
class="mb-2"
></b-form-tags>
</b-form-group>
<b-form-group id="content-group" label="Note:" label-for="content">
<b-form-textarea
id="content"
v-model="form.content"
placeholder="Enter something..."
rows="3"
max-rows="50"
required
></b-form-textarea>
</b-form-group>
<b-button type="submit" variant="primary">Submit</b-button>
</b-form>
<b-alert :show="error" variant="danger" dismissible class="mt-3">
An error occurred while creating note
</b-alert>
</b-card>
</div>
</template>
<script>
import Api from '@/api'
export default {
name: "NoteCreationForm",
data() {
return {
form: {
title: '',
content: '',
tags: []
},
error: false,
}
},
methods: {
createNote() {
this.error = false
Api.post('/notes', {
title: this.form.title,
content: this.form.content,
tags: this.form.tags
})
.then(response => {
console.log(response)
})
.catch(error => {
console.log(error)
this.error = true
})
}
}
}
</script>

View File

@ -1,8 +1,10 @@
import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../views/Home.vue'
import Signup from '../views/Signup.vue'
import Signin from '../views/Signin.vue'
import NoteCreation from '../views/NoteCreation.vue'
Vue.use(VueRouter)
@ -21,6 +23,11 @@ const routes = [
path: '/signin',
name: 'Signin',
component: Signin
},
{
path: '/note/new',
name: 'NoteCreation',
component: NoteCreation
}
]

View File

@ -0,0 +1,21 @@
<template>
<div id="app">
<Navbar/>
<b-container class="mt-5">
<NoteCreationForm/>
</b-container>
</div>
</template>
<script>
import Navbar from "@/components/Navbar";
import NoteCreationForm from "@/components/NoteCreationForm";
export default {
name: 'Home',
components: {
Navbar,
NoteCreationForm
}
}
</script>