Merge branch '672' into 'develop'

Make post status modal state persistent unless reply user is changed

Closes #672

See merge request pleroma/pleroma-fe!959
This commit is contained in:
Shpuld Shpludson 2019-09-30 05:05:12 +00:00
commit 767b965780
2 changed files with 23 additions and 5 deletions

View file

@ -1,24 +1,41 @@
import PostStatusForm from '../post_status_form/post_status_form.vue'
import get from 'lodash/get'
const PostStatusModal = {
components: {
PostStatusForm
},
data () {
return {
resettingForm: false
}
},
computed: {
isLoggedIn () {
return !!this.$store.state.users.currentUser
},
isOpen () {
return this.isLoggedIn && this.$store.state.postStatus.modalActivated
modalActivated () {
return this.$store.state.postStatus.modalActivated
},
isFormVisible () {
return this.isLoggedIn && !this.resettingForm && this.modalActivated
},
params () {
return this.$store.state.postStatus.params || {}
}
},
watch: {
isOpen (val) {
params (newVal, oldVal) {
if (get(newVal, 'repliedUser.id') !== get(oldVal, 'repliedUser.id')) {
this.resettingForm = true
this.$nextTick(() => {
this.resettingForm = false
})
}
},
isFormVisible (val) {
if (val) {
this.$nextTick(() => this.$el.querySelector('textarea').focus())
this.$nextTick(() => this.$el && this.$el.querySelector('textarea').focus())
}
}
},

View file

@ -1,6 +1,7 @@
<template>
<div
v-if="isOpen"
v-if="isLoggedIn && !resettingForm"
v-show="modalActivated"
class="post-form-modal-view modal-view"
@click="closeModal"
>