Commit ac29aa6b authored by TTS Kieu Tuan Anh's avatar TTS Kieu Tuan Anh

add name category + user creen post

parent 51ae5777
export default function(context) {
export default function (context) {
console.log('[LOG]: middleware is running ...')
}
export default ({ redirect }) => {
export default ({ redirect, store }) => {
if (typeof localStorage !== 'undefined' && !localStorage.getItem('token')) {
return redirect('/login')
}
......
......@@ -12,26 +12,16 @@
</template>
</v-breadcrumbs>
</div>
<div style="float: right">
<div style="float: right" />
<!-- modal-show -->
<v-dialog
v-model="dialog1"
v-model="dialog2"
persistent
max-width="600px"
enctype="multipart/form-data"
>
<template #activator="{ on, attrs }">
<v-btn
color="primary"
dark
v-bind="attrs"
v-on="on"
>
New Post
</v-btn>
</template>
<v-card>
<v-card-title>
<span class="text-h5">CREAT POST</span>
<span class="text-h5">POST</span>
</v-card-title>
<v-card-text>
<v-container>
......@@ -42,50 +32,46 @@
md="4"
>
<v-text-field
v-model="title"
label="Title*"
required
v-model="sTitle"
label="Title"
disabled
/>
</v-col>
<v-col
cols="12"
>
<v-select
v-model="category_id"
v-model="sCategoryId"
:items="categories"
item-text="name"
item-value="id"
label="Category"
disabled
/>
</v-col>
<v-col cols="12">
<v-text-field
v-model="content"
v-model="sContent"
label="Content"
required
disabled
/>
</v-col>
<v-col
cols="12"
>
<v-select
v-model="status"
v-model="sStatus"
:items="statusDefaul"
item-text="name"
item-value="id"
label="Status"
label="Category"
disabled
/>
</v-col>
<v-col cols="12">
<v-file-input
v-model="images"
label="File input"
small-chips
dense
accept="image/*"
prepend-icon="mdi-camera"
@change="fileSelected"
/>
<v-col v-for="(image, index) in sImages" :key="index" cols="12">
<v-img :src="image" contain />
</v-col>
</v-col>
</v-row>
</v-container>
......@@ -96,7 +82,7 @@
<v-btn
color="blue darken-1"
text
@click="dialog1 = false"
@click="dialog2 = false"
>
Close
</v-btn>
......@@ -104,23 +90,22 @@
color="blue darken-1"
text
type="submit"
@click="dialog1 = false; createPost()"
@click="dialog2 = false;"
>
Save
</v-btn>
</v-card-actions>
</v-card>
</v-dialog>
</div>
<!-- modal-show -->
<!-- modal-edit -->
<v-dialog
v-model="dialog2"
v-model="dialog"
persistent
max-width="600px"
>
<v-card>
<v-card-title>
<span class="text-h5">POST</span>
<span class="text-h5">EDIT POST</span>
</v-card-title>
<v-card-text>
<v-container>
......@@ -131,46 +116,49 @@
md="4"
>
<v-text-field
v-model="sTitle"
label="Title"
disabled
v-model="eTitle"
label="Title*"
required
/>
</v-col>
<v-col
cols="12"
>
<v-select
v-model="sCategoryId"
v-model="eCategoryId"
:items="categories"
item-text="name"
item-value="id"
label="Category"
disabled
/>
</v-col>
<v-col cols="12">
<v-text-field
v-model="sContent"
v-model="eContent"
label="Content"
disabled
required
/>
</v-col>
<v-col
cols="12"
>
<v-select
v-model="sStatus"
v-model="eStatus"
:items="statusDefaul"
item-text="name"
item-value="id"
label="Category"
disabled
/>
</v-col>
<v-col cols="12">
<v-col v-for="(image, index) in sImages" :key="index" cols="12">
<v-img :src="image" contain />
</v-col>
<v-file-input
v-model="eImages"
label="File input"
accept="image/*"
small-chips
dense
prepend-icon="mdi-camera"
/>
</v-col>
</v-row>
</v-container>
......@@ -181,7 +169,7 @@
<v-btn
color="blue darken-1"
text
@click="dialog2 = false"
@click="dialog = false"
>
Close
</v-btn>
......@@ -189,22 +177,59 @@
color="blue darken-1"
text
type="submit"
@click="dialog2 = false;"
@click="dialog = false; updatePost()"
>
Save
</v-btn>
</v-card-actions>
</v-card>
</v-dialog>
<!-- modal-edit -->
<!-- modal-delete -->
<v-dialog v-model="dialogDelete" max-width="500px">
<v-card>
<v-card-title class="text-h5">
Are you sure you want to delete this item?
</v-card-title>
<v-card-actions>
<v-spacer />
<v-btn color="blue darken-1" text @click="closeDelete">
Cancel
</v-btn>
<v-btn color="blue darken-1" text @click="deletePost(); dialogDelete = false">
OK
</v-btn>
<v-spacer />
</v-card-actions>
</v-card>
</v-dialog>
<!-- table -->
<div>
<v-data-table :headers="headers" :items="posts" sort-by="calories" class="elevation-1">
<template #top>
<v-toolbar flat>
<v-toolbar-title>Post Manage</v-toolbar-title>
<v-divider class="mx-4" inset vertical />
<v-spacer />
<v-toolbar-title>
<v-dialog
v-model="dialog"
v-model="dialog1"
persistent
max-width="600px"
enctype="multipart/form-data"
>
<template #activator="{ on, attrs }">
<v-btn
color="primary"
dark
v-bind="attrs"
v-on="on"
>
New Post
</v-btn>
</template>
<v-card>
<v-card-title>
<span class="text-h5">EDIT POST</span>
<span class="text-h5">CREAT POST</span>
</v-card-title>
<v-card-text>
<v-container>
......@@ -215,7 +240,7 @@
md="4"
>
<v-text-field
v-model="eTitle"
v-model="title"
label="Title*"
required
/>
......@@ -224,7 +249,7 @@
cols="12"
>
<v-select
v-model="eCategoryId"
v-model="category_id"
:items="categories"
item-text="name"
item-value="id"
......@@ -233,7 +258,7 @@
</v-col>
<v-col cols="12">
<v-text-field
v-model="eContent"
v-model="content"
label="Content"
required
/>
......@@ -242,21 +267,22 @@
cols="12"
>
<v-select
v-model="eStatus"
v-model="status"
:items="statusDefaul"
item-text="name"
item-value="id"
label="Category"
label="Status"
/>
</v-col>
<v-col cols="12">
<v-file-input
v-model="eImages"
v-model="images"
label="File input"
accept="image/*"
small-chips
dense
accept="image/*"
prepend-icon="mdi-camera"
@change="fileSelected"
/>
</v-col>
</v-row>
......@@ -268,7 +294,7 @@
<v-btn
color="blue darken-1"
text
@click="dialog = false"
@click="dialog1 = false"
>
Close
</v-btn>
......@@ -276,177 +302,27 @@
color="blue darken-1"
text
type="submit"
@click="dialog = false; updatePost()"
@click="dialog1 = false; createPost()"
>
Save
</v-btn>
</v-card-actions>
</v-card>
</v-dialog>
<!-- <div style="float: right">
<b-button class="text-white" v-b-modal.modal-create>New Post</b-button>
</div>
<b-modal id="modal-create" title="create Post" class="modal fade">
<div class="w-full mt-4 p-10">
<form>
<label for="input-live">Title :</label>
<b-form-input
id="input-live"
v-model="title"
type="text"
class="form-control mb-2"
placeholder="name"
aria-describedby="input-live-help input-live-feedback"
max="255"
min="1"
trim
/>
<label>Category ID :</label>
<b-form-select v-model="category_id">
<option v-for="item in categories" :value="item.id">
{{ item.name }}
</option>
</b-form-select>
<label>Content :</label>
<input
v-model="content"
type="text"
class="form-control mb-2"
placeholder="Ordering"
size="sm"
required
>
<label>Author :</label>
<input
v-model="user_id"
type="text"
class="form-control mb-2"
placeholder="Description"
size="sm"
required
>
<label>Status :</label>
<b-form-select v-model="status" :options="options" />
<label>Image :</label>
<b-form-file
v-model="images"
multiple
:state="Boolean(images)"
placeholder="Choose a image or drop it here..."
drop-placeholder="Drop file here..."
/>
</form>
</div>
<template #modal-footer>
<button v-b-modal.modal-close_visit class="btn btn-danger btn-sm m-1" @click="$bvModal.hide('modal-create')">
Close
</button>
<button v-b-modal.modal-close_visit class="btn btn-success btn-sm m-1" @click="createPost()">
Submit
</button>
</v-toolbar-title>
</v-toolbar>
</template>
</b-modal> -->
<!-- modal-show -->
<!-- <b-modal id="modal-show" title="POST" class="modal fade">
<div class="w-full mt-4 p-10">
<form>
<label>Title :</label>
<input v-model="sTitle" type="text" class="form-control mb-2" size="sm" disabled>
<label>Category ID :</label>
<input v-model="sCategoryId" type="text" class="form-control mb-2" size="sm" disabled>
<label>Content :</label>
<input v-model="sContent" type="text" class="form-control mb-2" size="sm" disabled>
<label>Author :</label>
<input
v-model="sUserId"
type="text"
class="form-control mb-2"
placeholder="Description"
size="sm"
disabled
>
<label>Status :</label>
<b-form-select v-model="sStatus" :options="options" disabled />
<label>Image :</label>
<div v-for="(image, index) in sImages" :key="index">
<b-img :src="image" fluid alt="Fluid image" />
</div>
</form>
</div>
<template #modal-footer>
<button v-b-modal.modal-close_visit class="btn btn-danger btn-sm m-1" @click="$bvModal.hide('modal-show')">
Close
</button>
<template #item.category_id="{ item }">
{{ categories.find(x => x.id === item.category_id)?.name }}
</template>
</b-modal> -->
<!-- modal-edit -->
<!-- <b-modal id="modal-edit" title="Edit Post " class="modal fade">
<div class="w-full mt-4 p-10">
<form>
<label>Title :</label>
<input
v-model="eTitle"
type="text"
class="form-control mb-2"
placeholder="name"
max="255"
min="1"
size="sm"
required
>
<label>Category ID :</label>
<b-form-select v-model="eCategoryId">
<option v-for="item in categories" :value="item.id">
{{ item.name }}
</option>
</b-form-select>
<label>Content :</label>
<input
v-model="eContent"
type="text"
class="form-control mb-2"
placeholder="Ordering"
size="sm"
required
>
<label>Author :</label>
<input v-model="eUserId" type="text" class="form-control mb-2" placeholder="Description" size="sm">
<label>Status :</label>
<b-form-select v-model="eStatus" :options="options" />
<label>Image :</label>
<b-form-file
v-model="eImages"
multiple
:state="Boolean(eImages)"
placeholder="Choose a image or drop it here..."
drop-placeholder="Drop file here..."
/>
</form>
</div>
<template #modal-footer>
<button v-b-modal.modal-close_visit class="btn btn-danger btn-sm m-1" @click="$bvModal.hide('modal-edit')">
Close
</button>
<button v-b-modal.modal-close_visit class="btn btn-success btn-sm m-1" @click="updatePost()">
Submit
</button>
</template>
</b-modal> -->
<!-- table -->
<div>
<v-data-table :headers="headers" :items="posts" sort-by="calories" class="elevation-1">
<template #top>
<v-toolbar flat>
<v-toolbar-title>Post Manage</v-toolbar-title>
<v-divider class="mx-4" inset vertical />
<v-spacer />
</v-toolbar>
<template #item.user_id="{ item }">
{{ users.find(x => x.id === item.user_id)?.name }}
</template>
<template #[`item.actions`]="{ item }">
<v-icon :id="item.id" small @click="editPost(item)">
mdi-pencil
</v-icon>
<v-icon :id="item.id" small @click="deletePost(item.id, item)">
<v-icon :id="item.id" small @click="dialogDelete = true; getID(item)">
mdi-delete
</v-icon>
<v-icon :id="item.id" small @click="showPost(item)">
......@@ -489,8 +365,8 @@ export default {
sortable: false,
value: 'title'
},
{ text: 'id', value: 'id' },
{ text: 'Category ID', value: 'category_id' },
{ text: 'content', value: 'content', sortable: false },
{ text: 'author', value: 'user_id' },
{ text: 'status', value: 'status' },
{ text: 'Actions', value: 'actions', sortable: false }
......@@ -524,6 +400,7 @@ export default {
],
posts: [],
categories: [],
users: [],
sTitle: '',
sCategoryId: '',
sContent: '',
......@@ -574,8 +451,9 @@ export default {
},
created () {
this.initialize()
this.getposts()
this.getPosts()
this.getCategories()
this.getUsers()
},
methods: {
initialize () {
......@@ -625,6 +503,18 @@ export default {
}
this.close()
},
getUsers () {
this.$axios
.get('/users/', {
headers: {
Authorization: `Bearer ${this.$auth.$storage.getUniversal('token')}`
}
})
.then(response => (this.users = response.data.data.data))
.catch(function (error) {
console.log(error)
})
},
getCategories () {
this.$axios
.get('/categories/', {
......@@ -638,7 +528,7 @@ export default {
console.log(error)
})
},
getposts () {
getPosts () {
this.$axios
.get('/posts/', {
headers: {
......@@ -664,7 +554,6 @@ export default {
fd,
{
headers: {
'Content-Type': 'multipart/form-data; application/json',
Authorization: `Bearer ${this.$auth.$storage.getUniversal('token')}`
}
}
......@@ -683,19 +572,21 @@ export default {
})
})
},
deletePost (ID, index) {
getID (item) {
this.eID = item.id
this.editedIndex = this.categories.indexOf(item)
},
deletePost () {
const self = this
this.editedIndex = this.posts.indexOf(index)
if (confirm('Do you really want to delete?')) {
const currentPostIndex = this.editedIndex
this.$axios
.delete(`/posts/${ID}`, {
.delete(`/posts/${this.eID}`, {
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${this.$auth.$storage.getUniversal('token')}`
}
})
.then((response) => {
this.posts.splice(this.editedIndex, 1)
this.posts.splice(currentPostIndex, 1)
self.$toast.success('Post deleted successfully!', {
duration: 3000
})
......@@ -706,7 +597,6 @@ export default {
duration: 3000
})
})
}
},
async showPost (item) {
const ID = item.id
......@@ -714,7 +604,6 @@ export default {
const resp = await this.$axios.get(`/posts/${ID}`, {
method: 'GET',
headers: {
'Content-Type': 'multipart/form-data',
Authorization: `Bearer ${this.$auth.$storage.getUniversal('token')}`
}
})
......@@ -755,9 +644,7 @@ export default {
fd,
{
headers: {
'Content-Type': 'multipart/form-data',
Authorization: `Bearer ${this.$auth.$storage.getUniversal('token')}`,
Accept: 'application/json, text/plain, */*'
Authorization: `Bearer ${this.$auth.$storage.getUniversal('token')}`
}
}
)
......
......@@ -9,25 +9,16 @@
</template>
</v-breadcrumbs>
</div>
<div style="float: right">
<div style="float: right" />
<!-- show-modal -->
<v-dialog
v-model="dialog1"
v-model="dialog2"
persistent
max-width="600px"
>
<template #activator="{ on, attrs }">
<v-btn
color="primary"
dark
v-bind="attrs"
v-on="on"
>
New Product
</v-btn>
</template>
<v-card>
<v-card-title>
<span class="text-h5">CREAT PRODUCT</span>
<span class="text-h5">PRODUCT</span>
</v-card-title>
<v-card-text>
<v-container>
......@@ -38,59 +29,41 @@
md="4"
>
<v-text-field
v-model="name"
label="Name*"
required
v-model="sName"
label="Name"
disabled
/>
</v-col>
<v-col
cols="12"
>
<v-select
v-model="category_id"
v-model="sCategoryId"
:items="categories"
item-text="name"
item-value="id"
label="Category"
disabled
/>
</v-col>
<v-col cols="12">
<v-text-field
v-model="price"
label="Price*"
required
v-model="sPrice"
label="Price"
disabled
/>
</v-col>
<v-col cols="12">
<v-text-field
v-model="description"
v-model="sDescription"
label="Description"
/>
</v-col>
<v-col cols="12">
<v-file-input
v-model="images"
label="File input"
small-chips
dense
multiple
/>
</v-col>
<v-col cols="12">
<v-btn
class="mx-2"
fab
dark
small
color="indigo"
@click="addMore()"
>
<v-icon dark>
mdi-plus
</v-icon>
</v-btn>
<v-col v-for="(image, index) in sImages" :key="index" cols="12">
<v-img :src="image" contain />
</v-col>
<v-row v-for="(variant, index) in variants" :key=" 'B' +index">
<v-col cols="12" />
<v-row v-for="(variant, index) in sVariants" :key="'A' +index">
<v-col
cols="12"
sm="6"
......@@ -98,8 +71,8 @@
>
<v-text-field
v-model="variant.color"
label="Color*"
required
label="Color"
disabled
/>
</v-col>
<v-col
......@@ -109,8 +82,8 @@
>
<v-text-field
v-model="variant.size"
label="Size*"
required
label="Size"
disabled
/>
</v-col>
<v-col
......@@ -120,60 +93,37 @@
>
<v-text-field
v-model="variant.quantity"
label="Quantity*"
required
label="Quantity"
disabled
/>
</v-col>
<v-col>
<v-btn
v-show="index != 0"
class=""
fab
dark
x-small
color="red"
@click="remove(index)"
>
<v-icon dark>
mdi-minus
</v-icon>
</v-btn>
</v-col>
<v-col />
</v-row>
</v-row>
</v-container>
<small>*indicates required field</small>
</v-card-text>
<v-card-actions>
<v-spacer />
<v-btn
color="blue darken-1"
text
@click="dialog1 = false; seeVariant()"
>
Close
</v-btn>
<v-btn
color="blue darken-1"
text
type="submit"
@click="dialog1 = false; createProduct();"
@click="dialog2 = false"
>
Save
Close
</v-btn>
</v-card-actions>
</v-card>
</v-dialog>
</div>
<!-- show-modal -->
<!-- edit-modal -->
<v-dialog
v-model="dialog2"
v-model="dialog3"
persistent
max-width="600px"
>
<v-card>
<v-card-title>
<span class="text-h5">PRODUCT</span>
<span class="text-h5">EDIT PRODUCT</span>
</v-card-title>
<v-card-text>
<v-container>
......@@ -184,41 +134,60 @@
md="4"
>
<v-text-field
v-model="sName"
label="Name"
disabled
v-model="eName"
label="Name*"
required
/>
</v-col>
<v-col
cols="12"
>
<v-select
v-model="sCategoryId"
v-model="eCategoryId"
:items="categories"
item-text="name"
item-value="id"
label="Category"
disabled
/>
</v-col>
<v-col cols="12">
<v-text-field
v-model="sPrice"
label="Price"
disabled
v-model="ePrice"
label="Price*"
required
/>
</v-col>
<v-col cols="12">
<v-text-field
v-model="sDescription"
v-model="eDescription"
label="Description"
/>
</v-col>
<v-col v-for="(image, index) in sImages" :key="index" cols="12">
<v-img :src="image" contain />
<v-col cols="12">
<v-file-input
v-model="eImages"
label="File input"
small-chips
dense
multiple
/>
</v-col>
<v-col cols="12" />
<v-row v-for="(variant, index) in sVariants" :key="'A' +index">
<v-img v-if="typeof eImage === 'string'" :src="eImages" />
<v-col cols="12">
<v-btn
class="mx-2"
fab
dark
small
color="indigo"
@click="addMoreVariant()"
>
<v-icon dark>
mdi-plus
</v-icon>
</v-btn>
</v-col>
<v-row v-for="(variant, index) in eVariants" :key=" 'B' +index">
<v-col
cols="12"
sm="6"
......@@ -226,8 +195,8 @@
>
<v-text-field
v-model="variant.color"
label="Color"
disabled
label="Color*"
required
/>
</v-col>
<v-col
......@@ -237,8 +206,8 @@
>
<v-text-field
v-model="variant.size"
label="Size"
disabled
label="Size*"
required
/>
</v-col>
<v-col
......@@ -248,37 +217,100 @@
>
<v-text-field
v-model="variant.quantity"
label="Quantity"
disabled
label="Quantity*"
required
/>
</v-col>
<v-col />
<v-col>
<v-btn
v-show="index != 0"
class=""
fab
dark
x-small
color="red"
@click="removeVariant(index, variant)"
>
<v-icon dark>
mdi-minus
</v-icon>
</v-btn>
</v-col>
</v-row>
</v-row>
</v-container>
<small>*indicates required field</small>
</v-card-text>
<v-card-actions>
<v-spacer />
<v-btn
color="blue darken-1"
text
type="submit"
@click="dialog2 = false"
@click="dialog3 = false"
>
Close
</v-btn>
<v-btn
color="blue darken-1"
text
type="submit"
@click="dialog3 = false; updateProduct();"
>
Save
</v-btn>
</v-card-actions>
</v-card>
</v-dialog>
<!-- edit-modal -->
<!-- delete-modal -->
<v-dialog v-model="dialogDelete" max-width="500px">
<v-card>
<v-card-title class="text-h5">
Are you sure you want to delete this item?
</v-card-title>
<v-card-actions>
<v-spacer />
<v-btn color="blue darken-1" text @click="closeDelete">
Cancel
</v-btn>
<v-btn color="blue darken-1" text @click="deleteProduct(); dialogDelete = false">
OK
</v-btn>
<v-spacer />
</v-card-actions>
</v-card>
</v-dialog>
<!-- table -->
<div>
<v-data-table
:headers="headers"
:items="products"
sort-by="calories"
class="elevation-1"
>
<template #top>
<v-toolbar flat>
<v-toolbar-title>Product Manage</v-toolbar-title>
<v-divider class="mx-4" inset vertical />
<v-spacer />
<v-toolbar-title>
<v-dialog
v-model="dialog3"
v-model="dialog1"
persistent
max-width="600px"
>
<template #activator="{ on, attrs }">
<v-btn
color="primary"
dark
v-bind="attrs"
v-on="on"
>
New Product
</v-btn>
</template>
<v-card>
<v-card-title>
<span class="text-h5">EDIT PRODUCT</span>
<span class="text-h5">CREAT PRODUCT</span>
</v-card-title>
<v-card-text>
<v-container>
......@@ -289,7 +321,7 @@
md="4"
>
<v-text-field
v-model="eName"
v-model="name"
label="Name*"
required
/>
......@@ -298,7 +330,7 @@
cols="12"
>
<v-select
v-model="eCategoryId"
v-model="category_id"
:items="categories"
item-text="name"
item-value="id"
......@@ -307,27 +339,26 @@
</v-col>
<v-col cols="12">
<v-text-field
v-model="ePrice"
v-model="price"
label="Price*"
required
/>
</v-col>
<v-col cols="12">
<v-text-field
v-model="eDescription"
v-model="description"
label="Description"
/>
</v-col>
<v-col cols="12">
<v-file-input
v-model="eImages"
v-model="images"
label="File input"
small-chips
dense
multiple
/>
</v-col>
<!-- <v-img v-if="typeof eImage === 'string'" :src="eImages" /> -->
<v-col cols="12">
<v-btn
class="mx-2"
......@@ -335,14 +366,14 @@
dark
small
color="indigo"
@click="addMoreVariant()"
@click="addMore()"
>
<v-icon dark>
mdi-plus
</v-icon>
</v-btn>
</v-col>
<v-row v-for="(variant, index) in eVariants" :key=" 'B' +index">
<v-row v-for="(variant, index) in variants" :key=" 'B' +index">
<v-col
cols="12"
sm="6"
......@@ -384,7 +415,7 @@
dark
x-small
color="red"
@click="removeVariant(index)"
@click="remove(index)"
>
<v-icon dark>
mdi-minus
......@@ -401,7 +432,7 @@
<v-btn
color="blue darken-1"
text
@click="dialog3 = false"
@click="dialog1 = false; seeVariant()"
>
Close
</v-btn>
......@@ -409,33 +440,21 @@
color="blue darken-1"
text
type="submit"
@click="dialog3 = false; updateProduct();"
@click="dialog1 = false; createProduct();"
>
Save
</v-btn>
</v-card-actions>
</v-card>
</v-dialog>
<!-- table -->
<div>
<v-data-table
:headers="headers"
:items="products"
sort-by="calories"
class="elevation-1"
>
<template #top>
<v-toolbar flat>
<v-toolbar-title>Product Manage</v-toolbar-title>
<v-divider class="mx-4" inset vertical />
<v-spacer />
</v-toolbar-title>
</v-toolbar>
</template>
<template #[`item.actions`]="{ item }">
<v-icon :id="item.id" small @click="editProduct(item)">
mdi-pencil
</v-icon>
<v-icon :id="item.id" small @click="deleteProduct(item.id,item)">
<v-icon :id="item.id" small @click="dialogDelete = true; getID(item)">
mdi-delete
</v-icon>
<v-icon :id="item.id" small @click="showProduct(item)">
......@@ -704,20 +723,23 @@ export default {
})
})
},
deleteProduct (ID, index) {
getID (item) {
this.eID = item.id
this.editedIndex = this.products.indexOf(item)
},
deleteProduct () {
const self = this
this.editedIndex = this.products.indexOf(index)
if (confirm('Do you really want to delete?')) {
const currentPostIndex = this.editedIndex
try {
this.$axios
.delete(`/products/${ID}`, {
.delete(`/products/${this.eID}`, {
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${this.$auth.$storage.getUniversal('token')}`
}
})
.then((response) => {
this.products.splice(this.editedIndex, 1)
this.products.splice(currentPostIndex, 1)
self.$toast.success('Category deleted successfully!', {
duration: 3000
})
......@@ -725,7 +747,6 @@ export default {
} catch (error) {
console.log(error)
}
}
},
async showProduct (item) {
const ID = item.id
......@@ -819,11 +840,8 @@ export default {
remove (index) {
this.variants.splice(index, 1)
},
removeVariant (index) {
removeVariant (index, variant) {
this.eVariants.splice(index, 1)
},
seeVariant () {
console.log(this.variants)
}
}
}
......
......@@ -279,6 +279,9 @@ export default {
this.initialize()
this.getUsers()
},
beforeCreate () {
// this.keepToken()
},
methods: {
initialize () {
this.users = []
......
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
Vue.mixin({
methods: {
......@@ -12,6 +14,11 @@ Vue.mixin({
if (day.length < 2) { day = '0' + day }
return [year, month, day].join('-')
},
keepToken () {
const TOKEN = localStorage.getItem('token')
this.$auth.$storage.setUniversal('token', TOKEN)
}
}
})
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export const store = new Vuex.Store({
modules: {
}
})
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment