Skip to content

Commit

Permalink
Bug : Inbox Filter indicator is removed when a conversation is select…
Browse files Browse the repository at this point in the history
…ed (#535)
  • Loading branch information
nithindavid committed Feb 22, 2020
1 parent bc884ae commit 330bf87
Show file tree
Hide file tree
Showing 6 changed files with 51 additions and 4 deletions.
Expand Up @@ -46,7 +46,7 @@ import getEmojiSVG from '../emoji/utils';
import conversationMixin from '../../../mixins/conversations';
import timeMixin from '../../../mixins/time';
import router from '../../../routes';
import { frontendURL } from '../../../helper/URLHelper';
import { frontendURL, conversationUrl } from '../../../helper/URLHelper';
export default {
components: {
Expand Down Expand Up @@ -95,9 +95,9 @@ export default {
methods: {
cardClick(chat) {
router.push({
path: frontendURL(`conversations/${chat.id}`),
});
const { activeInbox } = this;
const path = conversationUrl(activeInbox, chat.id);
router.push({ path: frontendURL(path) });
},
extractMessageText(chatItem) {
if (chatItem.content) {
Expand Down
7 changes: 7 additions & 0 deletions app/javascript/dashboard/helper/URLHelper.js
Expand Up @@ -4,3 +4,10 @@ export const frontendURL = (path, params) => {
const stringifiedParams = params ? `?${queryString.stringify(params)}` : '';
return `/app/${path}${stringifiedParams}`;
};

export const conversationUrl = (activeInbox, id) => {
const path = activeInbox
? `inbox/${activeInbox}/conversations/${id}`
: `conversations/${id}`;
return path;
};
21 changes: 21 additions & 0 deletions app/javascript/dashboard/helper/spec/URLHelper.spec.js
@@ -0,0 +1,21 @@
import { frontendURL, conversationUrl } from '../URLHelper';

describe('#URL Helpers', () => {
describe('conversationUrl', () => {
it('should return direct conversation URL if activeInbox is nil', () => {
expect(conversationUrl(undefined, 1)).toBe('conversations/1');
});
it('should return ibox conversation URL if activeInbox is not nil', () => {
expect(conversationUrl(2, 1)).toBe('inbox/2/conversations/1');
});
});

describe('frontendURL', () => {
it('should return url without params if params passed is nil', () => {
expect(frontendURL('main', null)).toBe('/app/main');
});
it('should return url without params if params passed is not nil', () => {
expect(frontendURL('main', { ping: 'pong' })).toBe('/app/main?ping=pong');
});
});
});
1 change: 1 addition & 0 deletions app/javascript/dashboard/i18n/default-sidebar.js
Expand Up @@ -6,6 +6,7 @@ export default {
'home',
'inbox_dashboard',
'inbox_conversation',
'conversation_through_inbox',
'settings_account_reports',
'billing_deactivated',
'profile_settings',
Expand Down
Expand Up @@ -69,6 +69,12 @@ export default {
this.$store.dispatch('setActiveInbox', this.inboxId);
}
break;
case 'conversation_through_inbox':
if (this.inboxId) {
this.$store.dispatch('setActiveInbox', this.inboxId);
}
this.setActiveChat();
break;
default:
this.$store.dispatch('setActiveInbox', null);
break;
Expand Down
Expand Up @@ -31,5 +31,17 @@ export default {
return { conversationId: route.params.conversation_id };
},
},
{
path: frontendURL('inbox/:inbox_id/conversations/:conversation_id'),
name: 'conversation_through_inbox',
roles: ['administrator', 'agent'],
component: ConversationView,
props: route => {
return {
conversationId: route.params.conversation_id,
inboxId: route.params.inbox_id,
};
},
},
],
};

0 comments on commit 330bf87

Please sign in to comment.