Feature: Send chat transcript via email (#1152)

Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
This commit is contained in:
Sojan Jose 2020-08-17 11:25:13 +05:30 committed by GitHub
parent 4b70e4e3d6
commit 22880df429
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
31 changed files with 559 additions and 59 deletions

View file

@ -0,0 +1,58 @@
<template>
<button
type="button"
class="button nice resolve--button"
:class="buttonClass"
@click="toggleStatus"
>
<i v-if="!isLoading" class="icon" :class="buttonIconClass" />
<spinner v-if="isLoading" />
{{ currentStatus }}
</button>
</template>
<script>
import { mapGetters } from 'vuex';
import Spinner from 'shared/components/Spinner';
import wootConstants from '../../constants';
export default {
components: {
Spinner,
},
props: { conversationId: { type: [String, Number], required: true } },
data() {
return {
isLoading: false,
};
},
computed: {
...mapGetters({
currentChat: 'getSelectedChat',
}),
isOpen() {
return this.currentChat.status === wootConstants.STATUS_TYPE.OPEN;
},
currentStatus() {
return this.isOpen
? this.$t('CONVERSATION.HEADER.RESOLVE_ACTION')
: this.$t('CONVERSATION.HEADER.REOPEN_ACTION');
},
buttonClass() {
return this.isOpen ? 'success' : 'warning';
},
buttonIconClass() {
return this.isOpen ? 'ion-checkmark' : 'ion-refresh';
},
},
methods: {
toggleStatus() {
this.isLoading = true;
this.$store.dispatch('toggleStatus', this.currentChat.id).then(() => {
bus.$emit('newToastMessage', this.$t('CONVERSATION.CHANGE_STATUS'));
this.isLoading = false;
});
},
},
};
</script>