chore: Displayed WhatsApp API provider name in inbox settings (#5346)

This commit is contained in:
Sivin Varghese 2022-08-29 12:40:15 +05:30 committed by GitHub
parent 9ddf4c205c
commit a9d687565e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 63 additions and 31 deletions

View file

@ -260,7 +260,7 @@ export default {
return this.showAudioRecorder && this.isRecordingAudio; return this.showAudioRecorder && this.isRecordingAudio;
}, },
allowedFileTypes() { allowedFileTypes() {
if (this.isATwilioWhatsappChannel) { if (this.isATwilioWhatsAppChannel) {
return ALLOWED_FILE_TYPES_FOR_TWILIO_WHATSAPP; return ALLOWED_FILE_TYPES_FOR_TWILIO_WHATSAPP;
} }
return ALLOWED_FILE_TYPES; return ALLOWED_FILE_TYPES;

View file

@ -240,7 +240,7 @@ export default {
}, },
replyWindowBannerMessage() { replyWindowBannerMessage() {
if (this.isAWhatsappChannel) { if (this.isAWhatsAppChannel) {
return this.$t('CONVERSATION.TWILIO_WHATSAPP_CAN_REPLY'); return this.$t('CONVERSATION.TWILIO_WHATSAPP_CAN_REPLY');
} }
if (this.isAPIInbox) { if (this.isAPIInbox) {
@ -256,7 +256,7 @@ export default {
return this.$t('CONVERSATION.CANNOT_REPLY'); return this.$t('CONVERSATION.CANNOT_REPLY');
}, },
replyWindowLink() { replyWindowLink() {
if (this.isAWhatsappChannel) { if (this.isAWhatsAppChannel) {
return REPLY_POLICY.FACEBOOK; return REPLY_POLICY.FACEBOOK;
} }
if (!this.isAPIInbox) { if (!this.isAPIInbox) {
@ -265,7 +265,7 @@ export default {
return ''; return '';
}, },
replyWindowLinkText() { replyWindowLinkText() {
if (this.isAWhatsappChannel) { if (this.isAWhatsAppChannel) {
return this.$t('CONVERSATION.24_HOURS_WINDOW'); return this.$t('CONVERSATION.24_HOURS_WINDOW');
} }
if (!this.isAPIInbox) { if (!this.isAPIInbox) {

View file

@ -277,7 +277,7 @@ export default {
return !!this.uiSettings.enter_to_send_enabled; return !!this.uiSettings.enter_to_send_enabled;
}, },
isPrivate() { isPrivate() {
if (this.currentChat.can_reply || this.isAWhatsappChannel) { if (this.currentChat.can_reply || this.isAWhatsAppChannel) {
return this.isOnPrivateNote; return this.isOnPrivateNote;
} }
return true; return true;
@ -324,7 +324,7 @@ export default {
if (this.isAFacebookInbox) { if (this.isAFacebookInbox) {
return MESSAGE_MAX_LENGTH.FACEBOOK; return MESSAGE_MAX_LENGTH.FACEBOOK;
} }
if (this.isAWhatsappChannel) { if (this.isAWhatsAppChannel) {
return MESSAGE_MAX_LENGTH.TWILIO_WHATSAPP; return MESSAGE_MAX_LENGTH.TWILIO_WHATSAPP;
} }
if (this.isASmsInbox) { if (this.isASmsInbox) {
@ -341,7 +341,7 @@ export default {
return ( return (
this.isAWebWidgetInbox || this.isAWebWidgetInbox ||
this.isAFacebookInbox || this.isAFacebookInbox ||
this.isAWhatsappChannel || this.isAWhatsAppChannel ||
this.isAPIInbox || this.isAPIInbox ||
this.isAnEmailChannel || this.isAnEmailChannel ||
this.isASmsInbox || this.isASmsInbox ||
@ -430,7 +430,7 @@ export default {
return; return;
} }
if (canReply || this.isAWhatsappChannel) { if (canReply || this.isAWhatsAppChannel) {
this.replyType = REPLY_EDITOR_MODES.REPLY; this.replyType = REPLY_EDITOR_MODES.REPLY;
} else { } else {
this.replyType = REPLY_EDITOR_MODES.NOTE; this.replyType = REPLY_EDITOR_MODES.NOTE;
@ -586,7 +586,7 @@ export default {
setReplyMode(mode = REPLY_EDITOR_MODES.REPLY) { setReplyMode(mode = REPLY_EDITOR_MODES.REPLY) {
const { can_reply: canReply } = this.currentChat; const { can_reply: canReply } = this.currentChat;
if (canReply || this.isAWhatsappChannel) this.replyType = mode; if (canReply || this.isAWhatsAppChannel) this.replyType = mode;
if (this.showRichContentEditor) { if (this.showRichContentEditor) {
if (this.isRecordingAudio) { if (this.isRecordingAudio) {
this.toggleAudioRecorder(); this.toggleAudioRecorder();

View file

@ -168,7 +168,7 @@ export default {
return ( return (
this.isOutgoing && this.isOutgoing &&
this.sourceId && this.sourceId &&
(this.isAnEmailChannel || this.isAWhatsappChannel) (this.isAnEmailChannel || this.isAWhatsAppChannel)
); );
}, },
}, },

View file

@ -454,7 +454,7 @@
"WHATSAPP_SECTION_SUBHEADER": "This API Key is used for the integration with the WhatsApp APIs.", "WHATSAPP_SECTION_SUBHEADER": "This API Key is used for the integration with the WhatsApp APIs.",
"WHATSAPP_SECTION_TITLE": "API Key" "WHATSAPP_SECTION_TITLE": "API Key"
}, },
"AUTO_ASSIGNMENT":{ "AUTO_ASSIGNMENT": {
"MAX_ASSIGNMENT_LIMIT": "Auto assignment limit", "MAX_ASSIGNMENT_LIMIT": "Auto assignment limit",
"MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0",
"MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent"
@ -471,7 +471,7 @@
"SET_FIELDS_HEADER": { "SET_FIELDS_HEADER": {
"FIELDS": "Fields", "FIELDS": "Fields",
"LABEL": "Label", "LABEL": "Label",
"PLACE_HOLDER":"Placeholder", "PLACE_HOLDER": "Placeholder",
"KEY": "Key", "KEY": "Key",
"TYPE": "Type", "TYPE": "Type",
"REQUIRED": "Required" "REQUIRED": "Required"
@ -577,11 +577,11 @@
}, },
"NOTE": "Note: ", "NOTE": "Note: ",
"WIDGET_BUILDER": { "WIDGET_BUILDER": {
"WIDGET_OPTIONS":{ "WIDGET_OPTIONS": {
"AVATAR":{ "AVATAR": {
"LABEL": "Website Avatar", "LABEL": "Website Avatar",
"DELETE":{ "DELETE": {
"API":{ "API": {
"SUCCESS_MESSAGE": "Avatar deleted successfully", "SUCCESS_MESSAGE": "Avatar deleted successfully",
"ERROR_MESSAGE": "There was an error, please try again" "ERROR_MESSAGE": "There was an error, please try again"
} }
@ -609,7 +609,7 @@
"WIDGET_COLOR_LABEL": "Widget Color", "WIDGET_COLOR_LABEL": "Widget Color",
"WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position",
"WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type",
"WIDGET_BUBBLE_LAUNCHER_TITLE":{ "WIDGET_BUBBLE_LAUNCHER_TITLE": {
"DEFAULT": "Chat with us", "DEFAULT": "Chat with us",
"LABEL": "Widget Bubble Launcher Title", "LABEL": "Widget Bubble Launcher Title",
"PLACE_HOLDER": "Chat with us" "PLACE_HOLDER": "Chat with us"
@ -621,15 +621,15 @@
"ERROR_MESSAGE": "Unable to update widget settings" "ERROR_MESSAGE": "Unable to update widget settings"
} }
}, },
"WIDGET_VIEW_OPTION":{ "WIDGET_VIEW_OPTION": {
"PREVIEW": "Preview", "PREVIEW": "Preview",
"SCRIPT": "Script" "SCRIPT": "Script"
}, },
"WIDGET_BUBBLE_POSITION":{ "WIDGET_BUBBLE_POSITION": {
"LEFT": "Left", "LEFT": "Left",
"RIGHT": "Right" "RIGHT": "Right"
}, },
"WIDGET_BUBBLE_TYPE":{ "WIDGET_BUBBLE_TYPE": {
"STANDARD": "Standard", "STANDARD": "Standard",
"EXPANDED_BUBBLE": "Expanded Bubble" "EXPANDED_BUBBLE": "Expanded Bubble"
} }
@ -648,7 +648,7 @@
"CHAT_INPUT_PLACEHOLDER": "Type your message" "CHAT_INPUT_PLACEHOLDER": "Type your message"
}, },
"BODY": { "BODY": {
"TEAM_AVAILABILITY":{ "TEAM_AVAILABILITY": {
"ONLINE": "We are Online", "ONLINE": "We are Online",
"OFFLINE": "We are away at the moment" "OFFLINE": "We are away at the moment"
}, },

View file

@ -116,6 +116,11 @@
<woot-color-picker v-model="inbox.widget_color" /> <woot-color-picker v-model="inbox.widget_color" />
</label> </label>
<label v-if="isAWhatsAppChannel" class="medium-9 columns settings-item">
{{ $t('INBOX_MGMT.ADD.WHATSAPP.PROVIDERS.LABEL') }}
<input v-model="whatsAppAPIProviderName" type="text" disabled />
</label>
<label class="medium-9 columns settings-item"> <label class="medium-9 columns settings-item">
{{ {{
$t('INBOX_MGMT.ADD.WEBSITE_CHANNEL.CHANNEL_GREETING_TOGGLE.LABEL') $t('INBOX_MGMT.ADD.WEBSITE_CHANNEL.CHANNEL_GREETING_TOGGLE.LABEL')
@ -388,6 +393,18 @@ export default {
selectedTabKey() { selectedTabKey() {
return this.tabs[this.selectedTabIndex]?.key; return this.tabs[this.selectedTabIndex]?.key;
}, },
whatsAppAPIProviderName() {
if (this.isAWhatsAppCloudChannel) {
return this.$t('INBOX_MGMT.ADD.WHATSAPP.PROVIDERS.WHATSAPP_CLOUD');
}
if (this.is360DialogWhatsAppChannel) {
return this.$t('INBOX_MGMT.ADD.WHATSAPP.PROVIDERS.360_DIALOG');
}
if (this.isATwilioWhatsAppChannel) {
return this.$t('INBOX_MGMT.ADD.WHATSAPP.PROVIDERS.TWILIO');
}
return '';
},
tabs() { tabs() {
const visibleToAllChannelTabs = [ const visibleToAllChannelTabs = [
{ {
@ -427,7 +444,7 @@ export default {
this.isALineChannel || this.isALineChannel ||
this.isAPIInbox || this.isAPIInbox ||
this.isAnEmailChannel || this.isAnEmailChannel ||
this.isAWhatsappChannel this.isAWhatsAppChannel
) { ) {
return [ return [
...visibleToAllChannelTabs, ...visibleToAllChannelTabs,
@ -447,11 +464,11 @@ export default {
return this.$store.getters['inboxes/getInbox'](this.currentInboxId); return this.$store.getters['inboxes/getInbox'](this.currentInboxId);
}, },
inboxName() { inboxName() {
if (this.isATwilioSMSChannel || this.isATwilioWhatsappChannel) { if (this.isATwilioSMSChannel || this.isATwilioWhatsAppChannel) {
return `${this.inbox.name} (${this.inbox.messaging_service_sid || return `${this.inbox.name} (${this.inbox.messaging_service_sid ||
this.inbox.phone_number})`; this.inbox.phone_number})`;
} }
if (this.isAWhatsappChannel) { if (this.isAWhatsAppChannel) {
return `${this.inbox.name} (${this.inbox.phone_number})`; return `${this.inbox.name} (${this.inbox.phone_number})`;
} }
if (this.isAnEmailChannel) { if (this.isAnEmailChannel) {

View file

@ -91,7 +91,7 @@
<imap-settings :inbox="inbox" /> <imap-settings :inbox="inbox" />
<smtp-settings v-if="inbox.imap_enabled" :inbox="inbox" /> <smtp-settings v-if="inbox.imap_enabled" :inbox="inbox" />
</div> </div>
<div v-else-if="isAWhatsappChannel && !isATwilioChannel"> <div v-else-if="isAWhatsAppChannel && !isATwilioChannel">
<div v-if="inbox.provider_config" class="settings--content"> <div v-if="inbox.provider_config" class="settings--content">
<settings-section <settings-section
:title="$t('INBOX_MGMT.SETTINGS_POPUP.WHATSAPP_SECTION_TITLE')" :title="$t('INBOX_MGMT.SETTINGS_POPUP.WHATSAPP_SECTION_TITLE')"

View file

@ -16,6 +16,9 @@ export default {
channelType() { channelType() {
return this.inbox.channel_type; return this.inbox.channel_type;
}, },
whatsAppAPIProvider() {
return this.inbox.provider || '';
},
isAPIInbox() { isAPIInbox() {
return this.channelType === INBOX_TYPES.API; return this.channelType === INBOX_TYPES.API;
}, },
@ -47,10 +50,22 @@ export default {
isASmsInbox() { isASmsInbox() {
return this.channelType === INBOX_TYPES.SMS || this.isATwilioSMSChannel; return this.channelType === INBOX_TYPES.SMS || this.isATwilioSMSChannel;
}, },
isATwilioWhatsappChannel() { isATwilioWhatsAppChannel() {
const { medium: medium = '' } = this.inbox; const { medium: medium = '' } = this.inbox;
return this.isATwilioChannel && medium === 'whatsapp'; return this.isATwilioChannel && medium === 'whatsapp';
}, },
isAWhatsAppCloudChannel() {
return (
this.channelType === INBOX_TYPES.WHATSAPP &&
this.whatsAppAPIProvider === 'whatsapp_cloud'
);
},
is360DialogWhatsAppChannel() {
return (
this.channelType === INBOX_TYPES.WHATSAPP &&
this.whatsAppAPIProvider === 'default'
);
},
chatAdditionalAttributes() { chatAdditionalAttributes() {
const { additional_attributes: additionalAttributes } = this.chat || {}; const { additional_attributes: additionalAttributes } = this.chat || {};
return additionalAttributes || {}; return additionalAttributes || {};
@ -75,15 +90,15 @@ export default {
badgeKey = this.facebookBadge; badgeKey = this.facebookBadge;
} else if (this.isATwilioChannel) { } else if (this.isATwilioChannel) {
badgeKey = this.twilioBadge; badgeKey = this.twilioBadge;
} else if (this.isAWhatsappChannel) { } else if (this.isAWhatsAppChannel) {
badgeKey = 'whatsapp'; badgeKey = 'whatsapp';
} }
return badgeKey || this.channelType; return badgeKey || this.channelType;
}, },
isAWhatsappChannel() { isAWhatsAppChannel() {
return ( return (
this.channelType === INBOX_TYPES.WHATSAPP || this.channelType === INBOX_TYPES.WHATSAPP ||
this.isATwilioWhatsappChannel this.isATwilioWhatsAppChannel
); );
}, },
}, },

View file

@ -109,7 +109,7 @@ describe('inboxMixin', () => {
expect(wrapper.vm.isASmsInbox).toBe(true); expect(wrapper.vm.isASmsInbox).toBe(true);
}); });
it('isATwilioWhatsappChannel returns true if channel type is Twilio and medium is whatsapp', () => { it('isATwilioWhatsAppChannel returns true if channel type is Twilio and medium is WhatsApp', () => {
const Component = { const Component = {
render() {}, render() {},
mixins: [inboxMixin], mixins: [inboxMixin],
@ -124,7 +124,7 @@ describe('inboxMixin', () => {
}; };
const wrapper = shallowMount(Component); const wrapper = shallowMount(Component);
expect(wrapper.vm.isATwilioChannel).toBe(true); expect(wrapper.vm.isATwilioChannel).toBe(true);
expect(wrapper.vm.isATwilioWhatsappChannel).toBe(true); expect(wrapper.vm.isATwilioWhatsAppChannel).toBe(true);
}); });
it('isAnEmailChannel returns true if channel type is email', () => { it('isAnEmailChannel returns true if channel type is email', () => {