logo

pleroma-fe

My custom branche(s) on git.pleroma.social/pleroma/pleroma-fe
commit: 0db25bdca0c40a0d3e769b6b503cdadda4962126
parent: 224488ea12fade7ef490158e1fa61055676c009f
Author: lambadalambda <gitgud@rogerbraun.net>
Date:   Tue, 20 Dec 2016 14:50:16 -0500

Merge branch 'fix/refactoring_status_delete' into 'develop'

Move delete button for status into a component

See merge request !8

Diffstat:

Asrc/components/delete_button/delete_button.js17+++++++++++++++++
Asrc/components/delete_button/delete_button.vue20++++++++++++++++++++
Msrc/components/status/status.js12+++---------
Msrc/components/status/status.vue13+------------
4 files changed, 41 insertions(+), 21 deletions(-)

diff --git a/src/components/delete_button/delete_button.js b/src/components/delete_button/delete_button.js @@ -0,0 +1,17 @@ +const DeleteButton = { + props: [ 'status' ], + methods: { + deleteStatus () { + const confirmed = confirm('Do you really want to delete this status?') + if (confirmed) { + this.$store.dispatch('deleteStatus', { id: this.status.id }) + } + } + }, + computed: { + currentUser () { return this.$store.state.users.currentUser }, + canDelete () { return this.currentUser.rights.delete_others_notice || this.status.user.id == this.currentUser.id } + } +} + +export default DeleteButton diff --git a/src/components/delete_button/delete_button.vue b/src/components/delete_button/delete_button.vue @@ -0,0 +1,20 @@ +<template> + <div v-if="canDelete"> + <a href="#" v-on:click.prevent="deleteStatus()"> + <i class='fa icon-cancel delete-status'></i> + </a> + </div> +</template> + +<script src="./delete_button.js" ></script> + +<style lang='scss'> + @import '../../_variables.scss'; + + .icon-cancel,.delete-status { + cursor: pointer; + &:hover { + color: $red; + } + } +</style> diff --git a/src/components/status/status.js b/src/components/status/status.js @@ -1,6 +1,7 @@ import Attachment from '../attachment/attachment.vue' import FavoriteButton from '../favorite_button/favorite_button.vue' import RetweetButton from '../retweet_button/retweet_button.vue' +import DeleteButton from '../delete_button/delete_button.vue' import PostStatusForm from '../post_status_form/post_status_form.vue' const Status = { @@ -20,25 +21,18 @@ const Status = { }, loggedIn () { return !!this.$store.state.users.currentUser - }, - deleted () { return this.statusoid.deleted }, - canDelete () { return this.statusoid.user.id === this.$store.state.users.currentUser.id } + } }, components: { Attachment, FavoriteButton, RetweetButton, + DeleteButton, PostStatusForm }, methods: { toggleReplying () { this.replying = !this.replying - }, - deleteStatus () { - const confirmed = confirm('Do you really want to delete this status?') - if (confirmed) { - this.$store.dispatch('deleteStatus', { id: this.status.id }) - } } } } diff --git a/src/components/status/status.vue b/src/components/status/status.vue @@ -52,11 +52,7 @@ </div> <retweet-button :status=status></retweet-button> <favorite-button :status=status></favorite-button> - <div v-if="canDelete"> - <a href="#" v-on:click.prevent="deleteStatus"> - <i class='fa icon-cancel delete-status'></i> - </a> - </div> + <delete-button :status=status></delete-button> </div> <post-status-form v-if="replying" :reply-to="status.id" :attentions="status.attentions" :repliedUser="status.user" v-on:posted="toggleReplying"></post-status-form> @@ -130,11 +126,4 @@ .status-el:last-child .status { border: none } - - .icon-cancel,.delete-status { - cursor: pointer; - &:hover { - color: $red; - } - } </style>