Rewrote the PostHelpers and put them in a utils folder

This commit is contained in:
Wolfgang Huß 2019-06-14 10:37:43 +02:00
parent 482ac1572b
commit 45bd1299ce
4 changed files with 52 additions and 45 deletions

View File

@ -70,7 +70,7 @@ import HcCategory from '~/components/Category'
import HcRibbon from '~/components/Ribbon' import HcRibbon from '~/components/Ribbon'
// import { randomBytes } from 'crypto' // import { randomBytes } from 'crypto'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { postMenuModalsData, deletePostMutationData } from '~/components/utils/PostHelpers' import { postMenuModalsData, deletePostMutation } from '~/components/utils/PostHelpers'
export default { export default {
name: 'HcPostCard', name: 'HcPostCard',
@ -113,7 +113,7 @@ export default {
methods: { methods: {
async deletePostCallback() { async deletePostCallback() {
try { try {
await this.$apollo.mutate(deletePostMutationData(this.post.id)) await this.$apollo.mutate(deletePostMutation(this.post.id))
this.$toast.success(this.$t('delete.contribution.success')) this.$toast.success(this.$t('delete.contribution.success'))
this.$emit('removePostFromList') this.$emit('removePostFromList')
} catch (err) { } catch (err) {

View File

@ -1,43 +1,43 @@
import gql from 'graphql-tag' import gql from 'graphql-tag'
export default { export function postMenuModalsData(truncatedPostName, confirmCallback, cancelCallback = () => {}) {
postMenuModalsData(truncatedPostName, confirmCallback, cancelCallback = () => {}) { return {
return { delete: {
delete: { titleIdent: 'delete.contribution.title',
titleIdent: 'delete.contribution.title', messageIdent: 'delete.contribution.message',
messageIdent: 'delete.contribution.message', messageParams: {
messageParams: { name: truncatedPostName,
name: truncatedPostName, },
buttons: {
confirm: {
danger: true,
icon: 'trash',
textIdent: 'delete.submit',
callback: confirmCallback,
}, },
buttons: { cancel: {
confirm: { icon: 'close',
danger: true, textIdent: 'delete.cancel',
icon: 'trash', callback: cancelCallback,
textIdent: 'delete.submit',
callback: confirmCallback,
},
cancel: {
icon: 'close',
textIdent: 'delete.cancel',
callback: cancelCallback,
},
}, },
}, },
} },
}, }
deletePostMutationData(postId) { }
var gqlMutation = gql`
mutation($id: ID!) { export function deletePostMutation(postId) {
DeletePost(id: $id) { // TODO: Replace "gqlMutation" with "DeletePost" from '~/graphql/PostMutations.js', has not worked for me.
id var gqlMutation = gql`
} mutation($id: ID!) {
} DeletePost(id: $id) {
` id
return { }
mutation: gqlMutation, }
variables: { `
id: postId, return {
}, mutation: gqlMutation,
} variables: {
}, id: postId,
},
}
} }

View File

@ -2,7 +2,7 @@ import gql from 'graphql-tag'
export default app => { export default app => {
return { return {
CreatePost: gql(` CreatePost: gql`
mutation($title: String!, $content: String!) { mutation($title: String!, $content: String!) {
CreatePost(title: $title, content: $content) { CreatePost(title: $title, content: $content) {
id id
@ -12,8 +12,8 @@ export default app => {
contentExcerpt contentExcerpt
} }
} }
`), `,
UpdatePost: gql(` UpdatePost: gql`
mutation($id: ID!, $title: String!, $content: String!) { mutation($id: ID!, $title: String!, $content: String!) {
UpdatePost(id: $id, title: $title, content: $content) { UpdatePost(id: $id, title: $title, content: $content) {
id id
@ -23,6 +23,13 @@ export default app => {
contentExcerpt contentExcerpt
} }
} }
`), `,
DeletePost: gql`
mutation($id: ID!) {
DeletePost(id: $id) {
id
}
}
`,
} }
} }

View File

@ -71,7 +71,7 @@ import HcUser from '~/components/User'
import HcShoutButton from '~/components/ShoutButton.vue' import HcShoutButton from '~/components/ShoutButton.vue'
import HcCommentForm from '~/components/comments/CommentForm' import HcCommentForm from '~/components/comments/CommentForm'
import HcCommentList from '~/components/comments/CommentList' import HcCommentList from '~/components/comments/CommentList'
import { postMenuModalsData, deletePostMutationData } from '~/components/utils/PostHelpers' import { postMenuModalsData, deletePostMutation } from '~/components/utils/PostHelpers'
export default { export default {
name: 'PostSlug', name: 'PostSlug',
@ -224,7 +224,7 @@ export default {
}, },
async deletePostCallback() { async deletePostCallback() {
try { try {
await this.$apollo.mutate(deletePostMutationData(this.post.id)) await this.$apollo.mutate(deletePostMutation(this.post.id))
this.$toast.success(this.$t('delete.contribution.success')) this.$toast.success(this.$t('delete.contribution.success'))
this.$router.history.push('/') // Redirect to index (main) page this.$router.history.push('/') // Redirect to index (main) page
} catch (err) { } catch (err) {