diff --git a/src/components/pages/Conversations/CscCallItem.vue b/src/components/pages/Conversations/CscCallItem.vue index fbb75ff0..6aba722d 100644 --- a/src/components/pages/Conversations/CscCallItem.vue +++ b/src/components/pages/Conversations/CscCallItem.vue @@ -73,6 +73,12 @@ :label="blockBothLabel" @click="toggleBlockBoth" /> + @@ -121,7 +127,7 @@ export default { default: false } }, - emits: ['toggle-block-both', 'toggle-block-outgoing', 'toggle-block-incoming', 'start-call'], + emits: ['toggle-block-both', 'toggle-block-outgoing', 'toggle-block-incoming', 'start-call', 'add-to-phonebook'], data () { return {} }, @@ -182,6 +188,9 @@ export default { }, toggleBlockBoth () { this.$emit('toggle-block-both') + }, + addToPhonebook () { + this.$emit('add-to-phonebook', this.numberDialBack) } } } diff --git a/src/components/pages/Conversations/CscConversationItem.vue b/src/components/pages/Conversations/CscConversationItem.vue index 84681ca6..e6a89d85 100644 --- a/src/components/pages/Conversations/CscConversationItem.vue +++ b/src/components/pages/Conversations/CscConversationItem.vue @@ -11,6 +11,7 @@ @toggle-block-incoming="toggleBlockIncoming" @toggle-block-outgoing="toggleBlockOutgoing" @toggle-block-both="toggleBlockBoth" + @add-to-phonebook="toggleAddToPhonebook" /> @@ -420,6 +421,10 @@ export default { this.$scrollTo(this.$parent.$el) this.filterDirection = filter this.forceReload() + }, + addToPhonebookAction (number) { + this.$store.commit('user/setPhonebookNumber', number) + this.$router.push('subscriber-phonebook/create') } } } diff --git a/src/pages/CscPageSubscriberPhonebookAdd.vue b/src/pages/CscPageSubscriberPhonebookAdd.vue index 4e466763..6772a3f8 100644 --- a/src/pages/CscPageSubscriberPhonebookAdd.vue +++ b/src/pages/CscPageSubscriberPhonebookAdd.vue @@ -75,6 +75,7 @@ import useValidate from '@vuelidate/core' import CscPageSticky from 'components/CscPageSticky' import { mapWaitingActions } from 'vue-wait' import { required } from 'vuelidate/lib/validators' +import { mapGetters } from 'vuex' export default { name: 'CscPageSubscriberPhonebookAdd', components: { @@ -99,6 +100,9 @@ export default { } }, computed: { + ...mapGetters('user', [ + 'prefilledNumber' + ]), nameErrorMessage () { const errorsTab = this.v$.formData.name.$errors if (errorsTab && errorsTab.length > 0 && errorsTab[0].$validator === 'required') { @@ -109,6 +113,12 @@ export default { return '' } }, + mounted () { + if (this.prefilledNumber) { + this.formData.number = this.prefilledNumber + this.$store.commit('user/setPhonebookNumber', '') + } + }, methods: { ...mapWaitingActions('user', { createPhonebookSubscriber: 'createPhonebookSubscriber' diff --git a/src/store/user.js b/src/store/user.js index 4470bb76..fd3629f1 100644 --- a/src/store/user.js +++ b/src/store/user.js @@ -81,7 +81,8 @@ export default { phonebookMap: {}, platformInfo: null, qrCode: null, - qrExpiringTime: null + qrExpiringTime: null, + numberInput: '' }, getters: { isLogged (state) { @@ -229,6 +230,9 @@ export default { }, isSpCe (state) { return state.platformInfo.type === 'spce' + }, + prefilledNumber (state) { + return state.numberInput } }, mutations: { @@ -354,6 +358,9 @@ export default { state.loginWaitingOTPCode = true state.OTPSecret = payload state.loginRequesting = false + }, + setPhonebookNumber (state, numberInput) { + state.numberInput = numberInput } }, actions: {