diff --git a/src/api/conversations.js b/src/api/conversations.js index 5f7a8dae..0bba48bd 100644 --- a/src/api/conversations.js +++ b/src/api/conversations.js @@ -17,6 +17,7 @@ export function getConversations (options) { const type = _.get(options, 'type', null) const from = _.get(options, 'from', '') const to = _.get(options, 'to', '') + const direction = _.get(options, 'direction', '') const params = { subscriber_id: _.get(options, 'subscriberId'), order_by: _.get(options, 'order_by', 'timestamp'), @@ -35,6 +36,9 @@ export function getConversations (options) { if (to !== '') { params.to = to } + if (direction !== '') { + params.direction = direction + } getList({ path: 'api/conversations/', root: '_embedded.ngcp:conversations', diff --git a/src/components/pages/Conversations/CscConversationsCallsFilter.vue b/src/components/pages/Conversations/CscConversationsCallsFilter.vue new file mode 100644 index 00000000..8a6114fc --- /dev/null +++ b/src/components/pages/Conversations/CscConversationsCallsFilter.vue @@ -0,0 +1,68 @@ + + + diff --git a/src/i18n/en.json b/src/i18n/en.json index ba10b994..f9fa1ae3 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -166,6 +166,7 @@ "Filter devices": "Filter devices", "Filter groups": "Filter groups", "Fine": "Fine", + "Folder : ": "Folder : ", "Forgot password?": "Forgot password?", "Format": "Format", "Forward to Auto Attendant": "Forward to Auto Attendant", @@ -233,6 +234,7 @@ "Manager Secretary feature": "Manager Secretary feature", "Maximum allowed extension is {max}": "Maximum allowed extension is {max}", "Maximum calls in queue": "Maximum calls in queue", + "Me": "Me", "Messages": "Messages", "Minimum allowed extension is {min}": "Minimum allowed extension is {min}", "Mo": "Mo", @@ -387,6 +389,9 @@ "Set your voicebox settings": "Set your voicebox settings", "Settings": "Settings", "Shared": "Shared", + "Show all calls": "Show all calls", + "Show incoming calls only": "Show incoming calls only", + "Show outgoing calls only": "Show outgoing calls only", "Sign In": "Sign In", "Slot": "Slot", "Slot {number}": "Slot {number}", diff --git a/src/pages/CscPageConversations.vue b/src/pages/CscPageConversations.vue index 2f7d8aed..f13e4582 100644 --- a/src/pages/CscPageConversations.vue +++ b/src/pages/CscPageConversations.vue @@ -29,6 +29,13 @@ :disable="listLoading" @input="filterTab(selectedTab)" /> + { this.$wait.end('csc-conversations') @@ -333,6 +347,11 @@ export default { } else { return this.isNumberOutgoingBlocked(item.caller) } + }, + filterCallDirectionEvent (filter) { + this.$scrollTo(this.$parent.$el) + this.filterDirection = filter + this.forceReload() } } } diff --git a/src/store/conversations/actions.js b/src/store/conversations/actions.js index c34bf7d6..e85e765f 100644 --- a/src/store/conversations/actions.js +++ b/src/store/conversations/actions.js @@ -90,7 +90,8 @@ export default { rows: ROWS_PER_PAGE, type: options.type, from: _.get(options, 'filter.from', ''), - to: _.get(options, 'filter.to', '') + to: _.get(options, 'filter.to', ''), + direction: _.get(options, 'filter.direction', '') }) context.commit('nextPageSucceeded', res) } catch (err) {