TT#117522 CallRecordings - As a Customer, I want to filter CallRecordings by caller and callee

- TT#120738 Integrate caller and callee input in CallRecording list view
- TT#120737 Adjust data fetching part
- TT#120736 Specify UX flow

Change-Id: I94e579c5f01c628ea42d9bd99225d02a68b5f234
mr9.5.2
Carlo Venusino 4 years ago
parent 6bc5155662
commit c07d21b22a

@ -4,7 +4,7 @@
class="row justify-center full-width q-gutter-x-sm" class="row justify-center full-width q-gutter-x-sm"
> >
<div <div
class="col-xs-12 col-md-2" class="col-xs-12 col-md-3"
> >
<q-select <q-select
v-model="filterTypeModel" v-model="filterTypeModel"
@ -12,12 +12,11 @@
:options="filterTypeOptions" :options="filterTypeOptions"
:label="$t('Filter by')" :label="$t('Filter by')"
:disable="loading" :disable="loading"
data-cy="filter-type"
/> />
</div> </div>
<div <div
v-if="filterType === 'timerange'" v-if="filterType === 'timerange'"
class="row col-xs-12 col-md-4" class="row col-xs-12 col-md-6"
> >
<q-input <q-input
v-model="dateStartFilter" v-model="dateStartFilter"
@ -146,6 +145,28 @@
</template> </template>
</q-input> </q-input>
</div> </div>
<div
v-else-if="filterType !== null"
class="row col-xs-12 col-md-3"
>
<q-input
v-model="typedFilter"
class="q-pr-sm col-12"
dense
:disable="loading || filterType === null"
:label="(filterType === null) ? $t('Type something') : filterTypeModel.label"
@keypress.enter="triggerFilter"
@keydown.space.prevent
>
<template v-slot:append>
<q-icon
name="search"
class="cursor-pointer"
@click="triggerFilter"
/>
</template>
</q-input>
</div>
</div> </div>
<div <div
class="row justify-center full-width q-gutter-x-sm" class="row justify-center full-width q-gutter-x-sm"
@ -163,7 +184,6 @@
dense dense
color="primary" color="primary"
text-color="dark" text-color="dark"
data-cy="filter-applied-item"
@remove="removeFilter(id)" @remove="removeFilter(id)"
/> />
</div> </div>
@ -200,6 +220,14 @@ export default {
{ {
label: this.$t('Timerange'), label: this.$t('Timerange'),
value: 'timerange' value: 'timerange'
},
{
label: this.$t('Caller'),
value: 'caller'
},
{
label: this.$t('Callee'),
value: 'callee'
} }
] ]
}, },

@ -119,6 +119,8 @@
"Call ended": "Beendet", "Call ended": "Beendet",
"Call forwarded": "Anruf weitergeleitet", "Call forwarded": "Anruf weitergeleitet",
"Call recordings": "", "Call recordings": "",
"Callee": "",
"Caller": "",
"Calling": "Anrufen", "Calling": "Anrufen",
"Calling {number}...": "{number} wird angerufen...", "Calling {number}...": "{number} wird angerufen...",
"Calls": "Anrufe", "Calls": "Anrufe",

@ -119,6 +119,8 @@
"Call ended": "Call ended", "Call ended": "Call ended",
"Call forwarded": "Call forwarded", "Call forwarded": "Call forwarded",
"Call recordings": "Call recordings", "Call recordings": "Call recordings",
"Callee": "Callee",
"Caller": "Caller",
"Calling": "Calling", "Calling": "Calling",
"Calling {number}...": "Calling {number}...", "Calling {number}...": "Calling {number}...",
"Calls": "Calls", "Calls": "Calls",

@ -119,6 +119,8 @@
"Call ended": "Llamada terminada", "Call ended": "Llamada terminada",
"Call forwarded": "Llamada redirigida", "Call forwarded": "Llamada redirigida",
"Call recordings": "", "Call recordings": "",
"Callee": "",
"Caller": "",
"Calling": "Llamando", "Calling": "Llamando",
"Calling {number}...": "Iniciando ...", "Calling {number}...": "Iniciando ...",
"Calls": "Llamadas", "Calls": "Llamadas",

@ -119,6 +119,8 @@
"Call ended": "Appel terminé", "Call ended": "Appel terminé",
"Call forwarded": "", "Call forwarded": "",
"Call recordings": "", "Call recordings": "",
"Callee": "",
"Caller": "",
"Calling": "Appel", "Calling": "Appel",
"Calling {number}...": "Appel vers le {number} en cours...", "Calling {number}...": "Appel vers le {number} en cours...",
"Calls": "Appels", "Calls": "Appels",

@ -119,6 +119,8 @@
"Call ended": "Chiamata terminata", "Call ended": "Chiamata terminata",
"Call forwarded": "Chiamata inoltrata", "Call forwarded": "Chiamata inoltrata",
"Call recordings": "", "Call recordings": "",
"Callee": "",
"Caller": "",
"Calling": "Composizione", "Calling": "Composizione",
"Calling {number}...": "Stai chiamando {number}...", "Calling {number}...": "Stai chiamando {number}...",
"Calls": "Chiamate", "Calls": "Chiamate",

@ -237,7 +237,9 @@ export default {
rowStatus: [], rowStatus: [],
filter: { filter: {
startTime: null, startTime: null,
endTime: null endTime: null,
caller: null,
callee: null
}, },
showFilters: false showFilters: false
} }
@ -273,14 +275,16 @@ export default {
}), }),
async fetchPaginatedRecordings (props) { async fetchPaginatedRecordings (props) {
const { page, rowsPerPage, sortBy, descending } = props.pagination const { page, rowsPerPage, sortBy, descending } = props.pagination
const { startTime, endTime } = this.filter const { startTime, endTime, caller, callee } = this.filter
const count = await this.fetchRecordings({ const count = await this.fetchRecordings({
page: page, page: page,
rows: rowsPerPage, rows: rowsPerPage,
order_by: sortBy, order_by: sortBy,
order_by_direction: descending ? 'desc' : 'asc', order_by_direction: descending ? 'desc' : 'asc',
start_time: startTime, start_time: startTime,
end_time: endTime end_time: endTime,
caller: caller ? '*' + caller : undefined,
callee: callee ? '*' + callee : undefined
}) })
this.pagination = { ...props.pagination } this.pagination = { ...props.pagination }
this.pagination.rowsNumber = count this.pagination.rowsNumber = count

Loading…
Cancel
Save